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 程序员也要学会使用“异常”
Jun 16 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
深入分析php之面向对象
May 15 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
php实现的二分查找算法示例
Jun 20 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 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
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
php中动态调用函数的方法
2015/03/16 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
jQuery中has()方法用法实例
2015/01/06 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
关于python字符串方法分类详解
2019/08/20 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
八年级英语教学计划
2015/01/23 职场文书
无罪辩护词范文
2015/05/21 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
python编写五子棋游戏
2021/05/25 Python