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中在数据库中保存Checkbox数据(2)
Oct 09 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
关于zend studio 出现乱码问题的总结
Jun 23 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
php获取系统变量方法小结
May 29 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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
php编程每天必学之表单验证
2016/03/01 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
Python文件的读写和异常代码示例
2017/10/31 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
对pandas中apply函数的用法详解
2018/04/10 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
法制宣传实施方案
2014/03/13 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
2015高考寄语集锦
2015/02/27 职场文书
表扬信格式模板
2015/05/05 职场文书
旅游安全责任协议书
2016/03/22 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL