关于PHP结束标签的使用细节探讨及联想


Posted in PHP onMarch 04, 2013

当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 相关文章推荐
PHP系统流量分析的程序
Oct 09 PHP
PHP如何得到当前页和上一页的地址?
Nov 27 PHP
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
php 方便水印和缩略图的图形类
May 21 PHP
php 高效率写法 推荐
Feb 21 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
php面向对象程序设计入门教程
Jun 22 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 #PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 #PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 #PHP
Apache中php.ini的设置方法
Feb 28 #PHP
PHP中如何定义和使用常量
Feb 28 #PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 #PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 #PHP
You might like
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
webpack打包js的方法
2018/03/12 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
flask中的wtforms使用方法
2018/07/21 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
枚举与#define宏的区别
2014/04/30 面试题
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
出生公证书
2015/01/23 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python