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开发文件系统实例讲解
Oct 09 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
PHP开发负载均衡指南
Jul 17 PHP
深入PHP中的HashTable结构详解
Jun 13 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
php 获取本地IP代码
Jun 23 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
详解Go与PHP的语法对比
May 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php二维数组排序详解
2013/11/06 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
Python 文件和输入输出小结
2013/10/09 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
python如何删除列为空的行
2020/07/17 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
HTML5 与 XHTML2
2008/10/17 HTML / CSS
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
高一历史教学反思
2014/01/13 职场文书
文字自荐书范文
2014/02/10 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
英语通知范文
2015/04/22 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python