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中的CMS的涵义
Mar 11 PHP
Php Cookie的一个使用注意点
Nov 08 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
PHP的AES加密算法完整实例
Jul 20 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
php通过各种函数判断0和空
Jul 04 PHP
PHP实现的数据对象映射模式详解
Mar 20 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
用PHP调用数据库的存贮过程
2006/10/09 PHP
用PHP查询域名状态whois的类
2006/11/25 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
python 域名分析工具实现代码
2009/07/15 Python
Python运算符重载用法实例分析
2015/06/01 Python
Python 中 Meta Classes详解
2016/02/13 Python
python web基础之加载静态文件实例
2018/03/20 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
班级聚会策划书
2014/01/16 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
学校施工安全责任书
2015/01/29 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书