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实现paypal整合方法
Nov 28 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
PHP图片水印类的封装
Jul 06 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
PHP基于递归算法解决兔子生兔子问题
May 11 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
基于laravel Request的所有方法详解
Sep 29 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 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python 中Pickle库的使用详解
2018/02/24 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
爱游人:Travelliker
2017/09/05 全球购物
自我鉴定注意事项
2014/01/19 职场文书
高中生期末评语大全
2014/01/28 职场文书
教师节促销方案
2014/03/22 职场文书
学生安全责任书
2014/04/15 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
学生上课说话检讨书
2014/10/25 职场文书
财务审计整改报告
2014/11/06 职场文书
高中生毕业评语
2014/12/30 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
详解MySQL的内连接和外连接
2023/05/08 MySQL