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 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
php mssql 时间格式问题
Jan 13 PHP
php 什么是PEAR?(第三篇)
Mar 19 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
浅谈php命令行用法
Feb 04 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 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在Web开发领域的优势
2006/10/09 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
Prototype Date对象 学习
2009/07/12 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python实现程序重启和系统重启方式
2020/04/16 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
离婚协议书范文
2015/01/26 职场文书
办公用品质量保证书
2015/05/11 职场文书
企业培训简报范文
2015/07/20 职场文书
nginx设置资源请求目录的方式详解
2022/05/30 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers