关于PHP结束标签的使用细节探讨及联想
2015-01-24信息快讯网
PHP解析文件时会寻找开始?php和结束标记?,标记告诉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>
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
PHP代码优化的53个细节
JoshChen_web格式编码UTF8-无BOM的小细节分析
php var_export与var_dump 输出的不同
浅析PHP原理之变量(Variables inside PHP)
浅析PHP原理之变量分离/引用(Variables Separation)
php中如何使对象可以像数组一样进行foreach循环
php接口与接口引用的深入解析
php中jpgraph类库的使用介绍
怎样使用php与jquery设置和读取cookies
如何使用“PHP” 彩蛋进行敏感信息获取
如何在php中正确的使用json
使用php实现截取指定长度
如何使用PHP获取指定日期所在月的开始日期与结束日期
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
简单实现限定phpmyadmin访问ip的方法
利用PHP扩展vld查看PHP opcode操作步骤
PHP对MongoDB[NoSQL]数据库的操作
phpExcel导出大量数据出现内存溢出错误的解决方法
Apache中php.ini的设置方法
PHP中如何定义和使用常量
使用php判断浏览器的类型和语言的函数代码
浅析PHP递归函数返回值使用方法
php去除换行符的方法小结(PHP_EOL变量的使用)
PHP下使用CURL方式POST数据至API接口的代码
判断Keep-Alive模式的HTTP请求的结束的实现代码
优化细节/提升竞争力 静态实拍新款明锐
动力/细节均有变 静态实拍2015款奥迪A7