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

前端之家收集整理的这篇文章主要介绍了php过滤HTML标签、属性等正则表达式汇总前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="jb51code">
<pre class="brush:PHP;">
$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(

清除空格,换行

PHP;"> 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标签的正则表达式的排除式(比如排除

,即不过滤

):

代码如下:
]+>
4,过滤部分html标签的正则表达式的枚举式(比如需要过滤

等):

代码如下:
]*>
5,过滤部分html标签属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):
代码如下:
6,过滤部分html标签属性的正则表达式的枚举式(比如alt属性):
代码如下:

PS:关于正则,这里再为大家推荐2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

猜你在找的PHP相关文章