php使用正则表达式去掉html中的注释方法


Posted in PHP onNovember 03, 2016

最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解。

首先比较基础的是:

$a = '<!--ceshi-->ceshi';
$a = preg_replace('#<!--.*-->#' , '' , $a);
var_dump($a);

上面的代码会输出ceshi。

但是如果是下面的字符串的话,就不能达到我们希望的效果了

$a = '<!--ceshi-->ceshi<!--ceshi-->';
$a = preg_replace('#<!--.*-->#' , '' , $a);
var_dump($a);

于是我们就把匹配规则改成如下的格式

preg_replace('#<!--.*?-->#' , '' , $a);

但是在html中如果有<!--[if lt IE 9]>ceshi<![endif]-->这样的代码的话是不能去掉的,所以我们需要改进匹配规则,改成以下的格式

preg_replace('#<!--[^\!\[]*?-->#' , '' , $a);

又接着如果html中有<script><!--ceshi//--></script>的代码,我们又需要改一下我们的匹配规则了,改成了以下格式

preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#' , '' , $a);

这样的话我基本上就去掉了我需要去掉的html的注释了!

以上就是小编为大家带来的php使用正则表达式去掉html中的注释方法全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
PHP 5.3.0 安装分析心得
Aug 07 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
PHP实现多进程并行操作的详解(可做守护进程)
Jun 18 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
解决php扩展安装不生效问题
Oct 25 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 PHP
使用正则去除php代码中的注释方法
Nov 03 #PHP
php cookie 详解使用实例
Nov 03 #PHP
PHP使用curl制作简易百度搜索
Nov 03 #PHP
php 防止表单重复提交两种实现方法
Nov 03 #PHP
PHP HTTP 认证实例详解
Nov 03 #PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 #PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 #PHP
You might like
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
js数组Array sort方法使用深入分析
2013/02/21 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
Python3数字求和的实例
2019/02/19 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
保密普查工作实施方案
2014/02/25 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
保护动物的宣传语
2015/07/13 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
新员工入职感想
2015/08/07 职场文书
创业计划书之餐饮
2019/09/02 职场文书
导游词之舟山普陀山
2019/11/06 职场文书