关于PHP结束标签的使用细节探讨及联想
当PHP解析一个文件时,会寻找开始<?php和结束标记?>,标记告诉PHP开始和停止解释其中的代码。此种方式的解析可以使PHP嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被PHP解析器忽略。大多数情况下PHP都是嵌入在HTML文档中的。
单行注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现。这意味着在 // ... ?> 或者 # ... ?>之后的 HTML 代码将被显示出来:?> 跳出了 PHP 模式并返回了 HTML 模式,// 或 #并不能影响到这一点。
由以上讨论可可知,即使?>出现在//注释中,PHP解析器也会认为PHP解析结束(当 PHP 碰到结束标记 ?> 时,就简单地将其后的内容原样输出( 除非其后紧接着一个新行,参见指令分隔符)直到碰到下一个开始标记为止)。
代码如下:
<?php
//$a = '<a href="test.html" title="#">test</a><a href="test.html" title="#">test</a>';
//preg_match_all('|<a[^>]+href="([^\"]*)".*?>|', $a, $b);
//print_r($b);
:!php preg.php
|', $a, $b);
//print_r($b);
如何修正上述问题呢?或者你使用/* */进行注释,或者将?>用字符串连接符进行连接,如下:
代码如下:
<?php
$a = '<a href="test.html" title="#">test</a><a href="test.html" title="#">test</a>';
preg_match_all('|<a[^>]+href="([^\"]*)".*?'.'>|', $a, $b);
print_r($b);
这一细节同样适用于JS结束标签</script>
相关推荐
-
php标签云的实现代码
数据库中,存放文章的表中有"Tag"字段,用来存放标签.标签之间用","分隔.比如"PHP,VB,随笔". 下面的实现代码,将标签从数据库中搜出来,并格式化处理,使其以出现的次数为依据显示出不同大小的文字连接. 其中的细节,不做解释了! 观念陈.方法笨.效率低的标签云的实现代码如下: 复制代码 代码如下: /** * WNiaoBlog Tag Template ShowTag * * @package WNiaoBlog * * @subpac
-
关于PHP结束标签的使用细节探讨及联想
当PHP解析一个文件时,会寻找开始<?php和结束标记?>,标记告诉PHP开始和停止解释其中的代码.此种方式的解析可以使PHP嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被PHP解析器忽略.大多数情况下PHP都是嵌入在HTML文档中的. 单行注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现.这意味着在 // ... ?> 或者 # ... ?>之后的 HTML 代码将被显示出来:?> 跳出了 PHP 模式并返回了 HTML 模式,// 或 #并
-
vue parseHTML函数解析器遇到结束标签
目录 引言 match函数匹配正则endTag 关键 parseEndTag 函数代码 总结parseEndTag 函数作用 handleStartTag函数后续 最后更新 stack 栈以及 lastTag 引言 承接上篇 parseHTML 函数源码解析拿到返回值后的处理 接下来我们将会讲解当 textEnd === 0 解析器遇到结束标签,parse 结束标签的代码如下: // End tag: var endTagMatch = html.match(endTag); if (endTa
-
Java/Js下使用正则表达式匹配嵌套Html标签
通用 HTML 标签区配正则 最近看网站日志,发现有人在博客上转了我不知道几年前写的一个匹配 HTML 标签的正则,刚好最近也在做一些相关的事情,顿时来了兴趣.就拿回来改改,成了下面这样,可能会有一些 case 遗漏,欢迎修改,已知在内嵌 <script> 复杂内容的处理能力较弱,不过对纯 HTML 来说已经够用,拿来做一些分析工具还是不错滴. 复制代码 代码如下: <script type="text/javascript"> var str = "
-
正值表达式匹配html标签的属性值
正则表达式是做文本解析工作必不可少的技能.如Web服务器日志分析,网页前端开发等.很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍.例如统计代码行数,只需一个正则就搞定.嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难.因此也就更有研究的价值. 今天由于工作的需求,需要获取html标签的属性值,立即想到了正则表达式,标签如下: <circle id="ap_test" cx="
-
JAVA过滤标签实现将html内容转换为文本的方法示例
本文实例讲述了JAVA过滤标签实现将html内容转换为文本的方法.分享给大家供大家参考,具体如下: /** * 把html内容转为文本 * @param html 需要处理的html文本 * @param filterTags 需要保留的html标签样式 * @return */ public static String trimHtml2Txt(String html, String[] filterTags){ html = html.replaceAll("\\<head>[\
-
java正则匹配HTML中a标签里的中文字符示例
本文实例讲述了java正则匹配HTML中a标签里的中文字符.分享给大家供大家参考,具体如下: 今天群里一位朋友问到了一个正则表达式的问题,有如下内容: <a href='www.baidu.comds=id32434#comment'rewr>特432</a> 453543 <a guhll,,l>a1特123你好123吗?</a> <a href=id=32434#comment'ewrer>特2</a> <a>标签中的
-
什么情况下可以不写PHP的闭合标签“?>”
在一些PHP项目里我们经常会看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下又必须写? 对此我们先来看2个例子: 下面的代码可以正常运行: <?php echo 123456; 下面的代码会报错: <?php echo 123456; <p>abc</p> 原因分析: 前者是纯php代码,可以不写结束标签,也不推荐写结束标签:后者除了php代码,还有html代码,必须要写结束标签. 那么为什么不推荐前者写结
-
php截取字符串并保留完整xml标签的函数代码
复制代码 代码如下: <?php /** * author: goosman * blog: http://blog.csdn.net/lgg201 * mail: lgg860911@yahoo.com.cn */ $str = '0123456789<a>012</a>0123456789'; function substr_remain_tag($s, $o, $l) { $is_mat
-
PHP实现补齐关闭的HTML标签
本文实例讲述了PHP实现补齐关闭的HTML标签.分享给大家供大家参考,具体如下: 很多时候,在我们做文章截取摘要的时候,如果出现HTML的内容,会出现截取的文章没有结束的HTML标签.这样的情况下就会出现页面样式错乱的问题.这 个时候我们需要的就是把缺少的结束标签加批量加上.在www.php.net官网看到一个比较好处理的一个函数,展示如下: function CloseTags($html) { // strip fraction of open or close tag from end (
-
php使HTML标签自动补全闭合函数代码
简单解释一些代码: 第一个 ~(<[^>]+?>)~si 这个正则是匹配<--->中的内容.简单说是所有的<标签>. 第二个 ~<([a-z0-9]+)[^/>]*?/>~si 这个正则是匹配<--/>中的内容.是单闭合标签 如<br /> 第三个 ~</([a-z0-9]+)[^/>]*?>~si 这个正则是匹配</......>中的内容.也就是结束标签 如</a> 第四个 ~&
随机推荐
- 一致性哈希算法以及其PHP实现详细解析
- 无法启动Apache的问题解决方法
- 全面解析Objective-C中的block代码块的使用
- Python简单检测文本类型的2种方法【基于文件头及cchardet库】
- Python 获取当前所在目录的方法详解
- asp.net 票据简单应用
- bootstrapValidator bootstrap-select验证不可用的解决办法
- Zend Framework入门教程之Zend_Config组件用法详解
- asp 的中文分词
- C#显示文件夹下所有图片文件的方法
- js中的前绑定和后绑定详解
- log引起的mysql不能启动的解决方法
- 浅析iOS中的浅拷贝和深拷贝(copy和mutableCopy)
- 详解Ajax和form+iframe 实现文件上传的方法(两种方式)
- C#操作读取、写入XML文档的实用方法
- jQuery 1.5 源码解读 面向中高阶JSER
- Vista边栏天气故障解决办法
- 外层竖向ScrollView,里层横向ScrollView滑动冲突的解决方法
- asp.net之生成验证码的方法集锦(一)
- php 在线打包_支持子目录