php过滤HTML标签、属性等正则表达式汇总


Posted in PHP onSeptember 22, 2014
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车
$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
 
$str=preg_replace("/<\!--.*?-->/si","",$str); //注释
$str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE
$str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签
$str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签
$str=preg_replace("/<(\/?meta.*?)>/si","",$str); //过滤meta标签
$str=preg_replace("/<(\/?body.*?)>/si","",$str); //过滤body标签
$str=preg_replace("/<(\/?link.*?)>/si","",$str); //过滤link标签
$str=preg_replace("/<(\/?form.*?)>/si","",$str); //过滤form标签
$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
 
$str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(\/?applet.*?)>/si","",$str); //过滤applet标签
 
$str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(\/?style.*?)>/si","",$str); //过滤style标签
 
$str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(\/?title.*?)>/si","",$str); //过滤title标签
 
$str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(\/?objec.*?)>/si","",$str); //过滤object标签
 
$str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //过滤noframes标签
 
$str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //过滤frame标签
 
$str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/<(\/?script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签
$str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签
$str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签
$str=preg_replace("/&#/si","&#",$str); //过滤script标签,如javAsCript:alert(

清除空格,换行

function DeleteHtml($str)
{
$str = trim($str);
$str = strip_tags($str,"");
$str = ereg_replace("\t","",$str);
$str = ereg_replace("\r\n","",$str);
$str = ereg_replace("\r","",$str);
$str = ereg_replace("\n","",$str);
$str = ereg_replace(" "," ",$str);
return trim($str);
}

过滤HTML属性

1,过滤所有html标签的正则表达式:

 

</?[^>]+>

 

//过滤所有html标签的属性的正则表达式:

 

$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);

3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>):
</?[^pP/>]+>

4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等):
</?[aApPbB][^>]*>

5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):
\s(?!alt)[a-zA-Z]+=[^\s]*

6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):
(\s)alt=[^\s]*
PHP 相关文章推荐
php discuz 主题表和回帖表的设计
Mar 13 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
thinkphp缓存技术详解
Dec 09 PHP
php中Snoopy类用法实例
Jun 19 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
yii2多图上传组件的使用教程
May 10 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
php常用的工具开发整理
Sep 26 PHP
PHP中exec与system用法区别分析
Sep 22 #PHP
PHP-Java-Bridge使用笔记
Sep 22 #PHP
11个PHPer必须要了解的编程规范
Sep 22 #PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 #PHP
php分页函数完整实例代码
Sep 22 #PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 #PHP
PHP return语句另类用法不止是在函数中
Sep 17 #PHP
You might like
php 变量未定义等错误的解决方法
2011/01/12 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
python合并同类型excel表格的方法
2018/04/01 Python
python解析含有重复key的json方法
2019/01/22 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
Java程序开发中如何应用线程
2016/03/03 面试题
人事行政主管岗位职责
2013/12/22 职场文书
学习礼仪心得体会
2014/09/01 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
保护环境的宣传语
2015/07/13 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
数据库之SQL技巧整理案例
2021/07/07 SQL Server