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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 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 session 存储方式的详细介绍
2013/06/25 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
webpack 代码分离优化快速指北
2019/05/18 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
深入理解Python 多线程
2020/06/16 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
关于递归的一道.NET面试题
2013/05/12 面试题
室内拓展活动方案
2014/02/13 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
运输公司工作总结
2015/08/11 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
Python利用capstone实现反汇编
2022/04/06 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers