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框架的性能
Jan 10 PHP
用php实现批量查询清除一句话后门的代码
Jan 20 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
PHP crc32()函数讲解
Feb 14 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
在PHP中使用灵巧的体系结构
2006/10/09 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
js排序与重组的实例讲解
2017/08/28 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
python复制与引用用法分析
2015/04/08 Python
Python字符编码判断方法分析
2016/07/01 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
django实现日志按日期分割
2020/05/21 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
3的组成教学反思
2014/04/30 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
详解TypeScript的基础类型
2022/02/18 Javascript