php不写闭合标签的好处
最早这个概念是从Drupal中接触到的,一开始有点不习惯——为什么不写闭合标签呢?这感觉很不完美啊,对于有强迫症的人来说很不适应嘛!后来,在工作中碰到了因为标签闭合而引起的问题,才开始不写闭合标签。
参阅了一些文章,对PHP闭合标签的总结如下:
好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些动作之前不能有输出,如果不小心在?> 后边加了不可见字符(多余的空格、换行符)等破坏页面显示,就会报"Header already sent"错误,不写的话不会有此问题。另,可以直接把光标移到最后,接着编程。
坏处:在dreamweaver的视图模式下,一团糟。
关于PHP闭合标签官方解释是:PHP闭合标签"?>"在PHP中对PHP的分析器是可选的。但是,如果使用闭合标签,任何由开发者,用户, 或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。
在Zend的代码规范中,也提到了这一点:http://framework.zend.com/manual/1.12/en/coding-standard.php-file-formatting.html
代码示例:
不当的:
代码如下:
<?php
echo "Here's my code!";
?>
<?php
echo "Here's my code!";
/* End of file myfile.php */
/* Location: ./system/modules/mymodule/myfile.php */
因此,如果是纯php code文件的话,应该省略?>结束标识符。
相关推荐
-
php实现html标签闭合检测与修复方法
本文实例讲述了php实现html标签闭合检测与修复方法.分享给大家供大家参考.具体如下: html标签闭合检测与修复,说的有点大 , 并没有考虑的很完整,没有使用正则表达式, 适用于html文件中只有开始标签没有结束标签, 是有结束标签没有开始标签的情况.标签闭合的位置需要根据需求调整 <?php $str = ' <div data="<li></li>"> <img src="http://www.baidu.com/123
-
php使HTML标签自动补全闭合函数代码
简单解释一些代码: 第一个 ~(<[^>]+?>)~si 这个正则是匹配<--->中的内容.简单说是所有的<标签>. 第二个 ~<([a-z0-9]+)[^/>]*?/>~si 这个正则是匹配<--/>中的内容.是单闭合标签 如<br /> 第三个 ~</([a-z0-9]+)[^/>]*?>~si 这个正则是匹配</......>中的内容.也就是结束标签 如</a> 第四个 ~&
-
PHP实现过滤各种HTML标签
首先分享一些比较常见的 $str=preg_replace("/<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*>/i","", $str); //过滤img标签 $str=preg_replace("/s+/","", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","&l
-
php截取html字符串及自动补全html标签的方法
本文实例讲述了php截取html字符串及自动补全html标签的方法.分享给大家供大家参考.具体分析如下: 这里总结一下关于利用php截取html字符串自动补全html标签,实际开发中会经常碰到,很多人直接先strip_tags过滤掉html标签,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 复制代码 代码如下: /** * 截取HTML,并自动补全闭合 * @param $html * @param $length * @param $end */ function
-
什么情况下可以不写PHP的闭合标签“?>”
在一些PHP项目里我们经常会看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下又必须写? 对此我们先来看2个例子: 下面的代码可以正常运行: <?php echo 123456; 下面的代码会报错: <?php echo 123456; <p>abc</p> 原因分析: 前者是纯php代码,可以不写结束标签,也不推荐写结束标签:后者除了php代码,还有html代码,必须要写结束标签. 那么为什么不推荐前者写结
-
PHP实现HTML标签自动补全代码
一般情况下先用PHP的 strip_tags 函数去掉所有html标签,再去掉空格等,然后再用substr或者自己实现的cn_substr函数来实现截取.因为如果不先去掉html标签,直接截取出来的字符串就会有没有闭合的标签出现,有时甚至会截取在标签上面比如 复制代码 代码如下: </di ... 今天遇到一个内容翻页截取问题: 正文是用富文本编辑器写入的,编辑器上有个分页按钮,点击之后就往当前光标位置插入一个蓝色的 复制代码 代码如下: <hr /> 横线.然后php直接存入数据库.显
-
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
fixHtmlTag version 0.2 这个版本解决了上次遗留的问题,即就近闭合和嵌套闭合问题.具体可以看代码的注释. 复制代码 代码如下: <?php /** * fixHtmlTag * * HTML标签修复函数,此函数可以修复未正确闭合的 HTML 标签 * * 由于不确定性因素太多,暂时提供两种模式"嵌套闭合模式"和 * "就近闭合模式",应该够用了. * * 这两种模式是我为了解释清楚此函数的实现而创造的两个名词, * 只需明白什么意思就行.
-
php不写闭合标签的好处
最早这个概念是从Drupal中接触到的,一开始有点不习惯--为什么不写闭合标签呢?这感觉很不完美啊,对于有强迫症的人来说很不适应嘛!后来,在工作中碰到了因为标签闭合而引起的问题,才开始不写闭合标签.参阅了一些文章,对PHP闭合标签的总结如下:好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些动作之前不能有输出,如果不小心在?> 后边加了不可见字符(多余的空格.换行符)等破坏页面显示,就会报"
-
小程序如何写动态标签的实现方法
web开发中,尤其使用react开发项目时,我们可以很方便的动态定义标签(jsx) const props = { id: '', className: '', data-a: '' } <button {...props} /> 动态配置标签的好处一是所有逻辑在JS端控制,二是使得我们的模板非常规范,方便后续维护更新,碎片模板可以很好的控制,三是我们可以根据使用场景很方便的配置props的属性,这样在html结构输出的时候能够得到比较干净的结构 在小程序的开发中,却不能实现类似的功能,导致我
-
vue parseHTML函数解析器遇到结束标签
目录 引言 match函数匹配正则endTag 关键 parseEndTag 函数代码 总结parseEndTag 函数作用 handleStartTag函数后续 最后更新 stack 栈以及 lastTag 引言 承接上篇 parseHTML 函数源码解析拿到返回值后的处理 接下来我们将会讲解当 textEnd === 0 解析器遇到结束标签,parse 结束标签的代码如下: // End tag: var endTagMatch = html.match(endTag); if (endTa
-
正则表达式匹配闭合HTML标签(支持嵌套)
任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题.关于正则引擎的原理,推荐<Mastering Regular Expression>中文名叫<精通正则表达式>.挺不错的一本书. OK,先确定我们要解决的问题--从一段Html文本中找出特定id的标签的innerHTML. 这里面最大的难点就是,Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签呢? 我们可以这样想,先匹配最前
-
asp之自动闭合HTML/ubb标签函数 附简单注释
这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵 修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能. 在此,我给增加了一些注释,方便大家一起学习学习 复制代码 代码如下: Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim
-
Java/Js下使用正则表达式匹配嵌套Html标签
通用 HTML 标签区配正则 最近看网站日志,发现有人在博客上转了我不知道几年前写的一个匹配 HTML 标签的正则,刚好最近也在做一些相关的事情,顿时来了兴趣.就拿回来改改,成了下面这样,可能会有一些 case 遗漏,欢迎修改,已知在内嵌 <script> 复杂内容的处理能力较弱,不过对纯 HTML 来说已经够用,拿来做一些分析工具还是不错滴. 复制代码 代码如下: <script type="text/javascript"> var str = "
随机推荐
- javascript 动态脚本添加的简单方法
- Python入门学习之字符串与比较运算符
- iis中ASP运行环境配置图解 IIS的安装和基本设置
- php不用正则验证真假身份证
- ASP中保留小数点后两位数的方法(使用FormatNumber)
- C语言数据结构之顺序数组的实现
- php抓取https的内容的代码
- Fatal: the Postfix mail system is already running 解决办法
- javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
- 一个关于javascript匿名函数的问题分析
- python实现代码行数统计示例分享
- 四步学会 Ajax
- 如何制作一个弹出式的调查窗口?
- 使用cookie实现统计访问者登陆次数
- pygame学习笔记(4):声音控制
- sqlserver获取当前日期的最大时间值
- Android Button点击事件的四种实现方法
- JavaScript操作cookie类实例
- 标准布局应用:对联与旗帜
- 基于centos 6.5使用varnish实现网站动静分离