关于PHP结束标签的使用细节探讨及联想_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>

时间: 2024-08-12 22:14:05

关于PHP结束标签的使用细节探讨及联想_php技巧的相关文章

通过table标签,PHP输出EXCEL的实现方法_php技巧

关键代码: 复制代码 代码如下: <?php header("Content-type:application/vnd.ms-excel"); header("Conten-Disposition:filename=hp.xlsx"); ?> 第一句是用来声明文件内容的格式:第二局是用来修改文件名的.如果没有第二个语句的话,生成的文件将是没有后缀名的.实现代码: 复制代码 代码如下: <meta http-equiv="Content-T

Meta标签三点细节优化

关于[meta标签的SEO优化] ,之前我已经写过相关的文章,这一次主要是来谈谈Meta标签在优化过程中的几点细节问题.在SEO行业中,我很愿意分享我的经验,而不是一直默默在研究,默默自己享受着SEO的成果.如果你觉得好就顶一个,觉得不好的话,请你保持良好的心态,别砸蛋,飘过吧.我欧阳淳一直都是"你爱就来,不爱的话请安静走开". Meta标签三点细节优化要注意的问题: 一.蜘蛛对Meta的抓取 我在[meta标签的SEO优化]一文中说到的出现了小错误,蜘蛛模拟器模拟的时候,确实是以Ke

网站Meta标签三点细节优化

关于[meta标签的SEO优化] ,之前我已经写过相关的文章,这一次主要是来谈谈Meta标签在优化过程中的 几点细节问题.在SEO行业中,我很愿意分享我的经验,而不是一直默默在研究,默默自己享受着SEO的成果.如果你 觉得好就顶一个,觉得不好的话,请你保持良好的心态,别砸蛋,飘过吧. Meta标签三点细节优化要注意的问题: 一.蜘蛛对Meta的抓取 我在[meta标签的SEO优化]一文中说到的出现了小错误,蜘蛛模拟器模拟的时候,确实是以Keywods先抓取的, 然后是Desecription.我

PHP实现补齐关闭的HTML标签_php技巧

本文实例讲述了PHP实现补齐关闭的HTML标签.分享给大家供大家参考,具体如下: 很多时候,在我们做文章截取摘要的时候,如果出现HTML的内容,会出现截取的文章没有结束的HTML标签.这样的情况下就会出现页面样式错乱的问题.这 个时候我们需要的就是把缺少的结束标签加批量加上.在www.php.net官网看到一个比较好处理的一个函数,展示如下: function CloseTags($html) { // strip fraction of open or close tag from end (

php截取字符串并保留完整xml标签的函数代码_php技巧

复制代码 代码如下: <?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) {          $i

php使HTML标签自动补全闭合函数代码_php实例

简单解释一些代码: 第一个 ~(<[^>]+?>)~si 这个正则是匹配<--->中的内容.简单说是所有的<标签>. 第二个 ~<([a-z0-9]+)[^/>]*?/>~si 这个正则是匹配<--/>中的内容.是单闭合标签 如<br /> 第三个 ~</([a-z0-9]+)[^/>]*?>~si 这个正则是匹配</......>中的内容.也就是结束标签 如</a> 第四个 ~&

php实现html标签闭合检测与修复方法_php技巧

本文实例讲述了php实现html标签闭合检测与修复方法.分享给大家供大家参考.具体如下: html标签闭合检测与修复,说的有点大 , 并没有考虑的很完整,没有使用正则表达式, 适用于html文件中只有开始标签没有结束标签, 是有结束标签没有开始标签的情况.标签闭合的位置需要根据需求调整 <?php $str = ' <div data="<li></li>"> <img src=https://yunqi-tech.oss-cn-hang

什么情况下可以不写PHP的闭合标签“?&amp;gt;”_php技巧

在一些PHP项目里我们经常会看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下又必须写? 对此我们先来看2个例子: 下面的代码可以正常运行: <?php echo 123456; 下面的代码会报错: <?php echo 123456; <p>abc</p> 原因分析:前者是纯php代码,可以不写结束标签,也不推荐写结束标签:后者除了php代码,还有html代码,必须要写结束标签.  那么为什么不推荐前者写结束标

跨多个数据源的J2EE开发: 细节探讨

引言 在我们以前的文章 将 DB2 Information Integrator 用于 J2EE 开发:成 本/效益分析中,我们描述了一个 Java 2 企业版(J2EE)项目,它被设计成用来 评估实现需要从三种不同的数据源检索和合并数据的 servlet 时的折中方案.我们构建了 一组 servlet,它们使用 IBM DB2 Information Integrator 来模拟不同数据 的单点映像,并且我们构建了另一组 servlet,它们直接使用每个必要的数据源. 在本文(我们系列中的第二