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 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
实用函数10
Nov 08 PHP
Gregarius中文日期格式问题解决办法
Apr 22 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php&amp;mysql 日期操作小记
Feb 27 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
Laravel中获取IP的真实地理位置
Apr 01 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
1 Tube Radio
2021/03/02 无线电
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
深入理解Django-Signals信号量
2019/02/19 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python异常触发及自定义异常类解析
2019/08/06 Python
Python如何访问字符串中的值
2020/02/09 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
软件测试面试题
2015/10/21 面试题
Java编程面试题
2016/04/04 面试题
项目资料员岗位职责
2013/12/10 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
2014年学校教学工作总结
2014/12/06 职场文书