PHP正则表达式过滤html标签属性(DEMO)


Posted in PHP onMay 04, 2016

过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示。

采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等。

例如

过滤除了src之外的所有属性:

$str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',' $str);

上面的实例代码是过滤掉除了src属性外的所有标签属性.

过滤设置过滤除了alt和src之外的所有属性

代码如下:

$str = preg_replace('/\s(?!(src|alt))[a-zA-Z]+=[^\s]*/iu',' ', $str);

过滤所有html标签的属性的正则表达式:

$str = preg_replace("/<([a-z]+)[^>]*>/i","",$str );

只过滤alt属性的正则表达式:

(\s)alt=[^\s]*

过滤所有html标签的属性的正则表达式:

$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript 

"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记 

"'([\r\n])[\s]+'", // 去掉空白字符 

"'&(quot|#34);'i", // 替换 HTML 实体 

"'&(amp|#38);'i", 

"'&(lt|#60);'i", 

"'&(gt|#62);'i", 

"'&(nbsp|#160);'i" 

); // 作为 PHP 代码运行 

$replace = array ("","","\\1","\"","&","<",">"," "); 

$html = preg_replace($search, $replace, $html);
PHP 相关文章推荐
PHP 如何向 MySQL 发送数据
Oct 09 PHP
PHP之COOKIE支持详解
Sep 20 PHP
php下连接mssql2005的代码
Jan 17 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
Mar 05 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
Joomla使用Apache重写模式的方法
May 04 #PHP
Joomla开启SEF的方法
May 04 #PHP
Joomla简单判断用户是否登录的方法
May 04 #PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 #PHP
joomla组件开发入门教程
May 04 #PHP
Yii2前后台分离及migrate使用(七)
May 04 #PHP
微信公众平台DEMO(PHP)
May 04 #PHP
You might like
网页中的图片的处理方法与代码
2009/11/26 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jquery validate demo 基础
2015/10/29 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
浅谈React高阶组件
2018/03/28 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
python中管道用法入门实例
2015/06/04 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
机器学习python实战之决策树
2017/11/01 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
用python实现对比两张图片的不同
2018/02/05 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
华为python面试题
2016/05/03 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
技术员岗位职责
2015/02/04 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
任命书格式模板
2015/09/22 职场文书
辞职申请书范本
2019/05/20 职场文书
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技