要匹配 <tr...> 标签但缺少闭合标签 </tr> 的情况,有几种解决方案:
方法1:使用正则表达式容忍不完整标签
$pattern = '/<trb[^>]*>(?:(?!</tr>).)*$/is';
preg_match_all($pattern, $html, $matches);
这个正则表达式的含义:
<trb[^>]*> 匹配开始 tr 标签
(?:(?!</tr>).)* 匹配任何不包含 </tr> 的字符
$ 确保匹配到字符串末尾(即没有闭合标签)
方法2:使用 DOM 解析器更可靠地处理
正则表达式不是处理 HTML 的最佳工具,特别是对于不完整的标记。更好的方法是使用 PHP 的 DOM...
问题
setTimeout在某一次写一个倒计时功能时,当浏览器缩小或者离开当前页面,倒计时会不准确,进入休眠模式,执行间隔比预期要慢。
设定一个 150ms 后执行的定时器不代表到了 150ms 代码就立刻执行,它表示代码会在 150ms 后被加入到队列中。如果在这个时间点上,队列中没有其他东西,那么这段代码就会被执行。
也就是说定时器会在你任务队列中没用执行任务时才会将你的定时器添加到任务队列中。这样,他会带来一些问题:
无视代码错误
setInterval有个讨厌的习惯,即对自己调用的代码是否报错这件事漠不关心。换句话说,如果setInterval执行的代码由于某种原因出了错,它还会持续不断(不管不顾)地调用该代码。
无视网络延迟...
标签库Taglib标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:1.标签处理器:实现定制标签功能的Java类。2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类。3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档。标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。TLD必须是/META-INF目录中名为taglib.tld的文件,JAR文件则复制到/WEB-INF/lib目录下。一、标签实现1.开发步骤a.定义标签的名字、属性、声...
先来看现象: 复制代码 代码如下:<div id="cc"></div> <script> $(document).ready(function() { $("#cc").append("<div id='aa' style='width:200px;height:200px;' /></div>"); alert($("#aa").width()); }); </script> 结果为:200 所有浏览器都得到正确的结果 把插入的元素改为IMG 复制代码 代码如下:<div id="cc"></div> <script> $(document).ready(function() { $("#cc").append("<img id='aa' src='http://www.jb51.net/images/logo.gif' />"); alert($("#aa").width()); }); </sc...
下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a> 里面再嵌入一个 <a> 这样的约定。说明:1. 为了方便读者阅读,本文中的标签使用了大写(根据 XHTML 的规则,元素名必须小写,比如 <html> 而不应是 <HTML>)。2. 小写的单词表明一组或一系列 HTML 标签。3. 每一项条目(标签)后都跟随一组标签列表,如果没有这个列表,那么表明该条目(标签)内部不允许包含任何标签。这意味着该条目内部只能包含纯文本内容(#PCDATA,见下文)。如果注明 (empty),这意味着该条目内部不允许包含任何形式的内容。对于 flow,inline,block,OBJECT 和...
类别:网页编程 查看:177
更新:2014-06-05
optgroup 标签 -- 代表分组选择项的类别名(此类别名不能选择) optgroup标签是成对出现的,以<optgroup>开始,以</optgroup>结束属性: Common -- 一般属性label -- 说明选择项 以下是HTML代码:【运行】【复制】
<form action="dreamdu.php" method="post" id="dreamduform"> <label for="WebDesign"> 选择一个你在梦之都最想学的 </label> <select id="WebDesign" name="WebDesign"> <optgroup label="client"> <option value="HTML"> HT...
类别:网页编程 查看:132
更新:2014-06-03
以下是代码:【运行代码】【复制代码】 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>实例</title>
<style type="text/css">
* {
margin:0;
padding:0;
}
dl {
margin:10px auto;
width:500px;
line-height:24px;
border-left:1px solid #dcdcdc;
}
dt.active ...
/<img(?:s*w*?s*=s*".+?")*?s*srcs*=s*"(.+?)"(?:s*w*?s*=s*".+?")*s*>/ig 这段正则和匹配链接标签的正则基本一样,修改如下,标签名img,没有结束标签而是>结束。 测试代码如下: <script type="text/javascript">
function replaceReg(reg,str){
return str.replace(reg,'<img src="$1" border=0 align=middle><br>')
}
var reg =
/<img(?:s*w*?s*=s*".+?")*?s*srcs*=s*"(.+?)"(?:s*w*?s*=s*".+?")*s*>/ig;
var str = '我就是传说中的图片了<img src="URL">哎。';
document.write(replaceReg(reg,str)+'<br />');
</script> [Ctrl+A 全选 Ctrl+C 复...
标签库Taglib
标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:1.标签处理器:实现定制标签功能的Java类。2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类。3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档。
标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。TLD必须是/META-INF目录中名为taglib.tld的文件,JAR文件则复制到/WEB-INF/lib目录下。
一、标签实现
1.开发步骤a.定义标签的名字、...
建立模板标签系统应用程序
建立模板标签系统应用程序只需几个步骤. 注意:以下步骤假设使用了新的SleeK例子应用程序(这个例子可以在www.phpmvc.net上找到).
修改应用程序的boot.ini文件
应用程序的boot.ini文件包含需要得到PHP.MVC框架的信息.boot.ini文件通常位于应用程序的"WEB-INF"目录下.为了设置应用程序使用模板标签类,我们需要在boot.ini文件中定义一些属性.
TagActionDispatcher类
TagActionDispatcher是ActionDispatcher类的标准实现.为了让框架能读取TagActionDispatcher类,我们为变量$appServerRootDir设置值为'TagAc...
页面布局
在这个单元中我们将看到如何使用模板标签系统构造一个标准的模板页面。这个例子我们使用了一个简单的HTML页面布局,请看下图:
这个页面有多个标准单元组成,就像页面设计者和开发者熟悉的那样.这个页面的主体由3个包含的单元组成:页眉,页内容主体和页脚.我们现在就看看这些单元并且了解如何使用模板标签系统来实现.
页主体
下面的代码单元显示的是主体:The Page Body Layout 1<@ saleMonth = data.getValueBean('SALE_MONTH') @><@ saleTitle = data.getValueBean('SALE_TITLE') ...
PHP.MVC标签语法
在基本的介绍之后,我们现在就可以来看看模板标签系统的语法. 在看具体的标签之前,我们应该定义什么作为我们的标签.为了写一个标签,我们使用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默认的标签.如果必要的话,这些标签我们能够在phpmvc-config.xml中重新定义. 模板标签系统现在支持以下3种标签:包含指令,声明和表达式.我们现在来看看这些指令.
包含指令
包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉: &...
The Php.MVC Tag Action Dispatcher
TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降. 模板标签库是PHP.MVC框架结构的子系统.模板标签库联合TagActionDispatcher一起工作来支持一些简单的模板标签. 下面的图表显示了PHP.MVC模板标签系统的总揽.左边展示的是模板标签系统的程序流程.右边是TagA...
PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式.
包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:
<@ include 'pageHeader.ssp' @>
声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:
<@ salesAreaID = "Central District" @>
表达式标...
引言 大家都知道,Display标签处理大数据量的时候,排序会反应迟顿。因此标签的设计者提供了外部排序功能,也就是由用户自己来处理排序逻辑,我参照字面及实际的意思,将external译为外部排序,好象不太准确,谁有更好的译法,请告诉我。 这是Display官方文档的译文,第一次翻译E文,不妥之处见谅。特意以中英文对照的形式,大家对照着来理解。有两句话没有译出来,谁知道怎么译请告诉我。 The default behavior of displaytag is working with a full list, handling sorting and paging trasparently. Sometimes, however, you could need to give displaytag only the records displayed, handling sorting and paging by y...