> 백엔드 개발 > PHP 튜토리얼 > 正则表达式匹配html 过滤非法字符_PHP教程

正则表达式匹配html 过滤非法字符_PHP教程

WBOY
풀어 주다: 2016-07-20 11:01:46
원래의
1188명이 탐색했습니다.

 

正则表达式匹配html 过滤非法字符
匹配一个html标签,匹配table如下:

[ss]*

[ss]*?*?>
*?>

以上两个表达式,一个加了"?"和一个却不加"?",那么这有什么区别呢?
我们知道"?"在正则表达式里是一个通配符:匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。

在这里,通过测试,我们得出这样的结论:在不加"?"的情况下,在匹配下面一段内容的时候:

 

这是第一个table

我不是table里的内容
这是第二个table

我也不是table里的内容
这是第三个table

 

$str=preg_replace("/s+/", " ", $str); //过滤多余回车
$str=preg_replace("/

$str=preg_replace("//si","",$str); //注释
$str=preg_replace("//si","",$str); //过滤doctype
$str=preg_replace("//si","",$str); //过滤html标签
$str=preg_replace("//si","",$str); //过滤head标签
$str=preg_replace("//si","",$str); //过滤meta标签
$str=preg_replace("//si","",$str); //过滤body标签
$str=preg_replace("//si","",$str); //过滤link标签
$str=preg_replace("//si","",$str); //过滤form标签
$str=preg_replace("/cookie/si","cookie",$str); //过滤cookie标签

$str=preg_replace("/(.*?)/si","",$str); //过滤applet标签
$str=preg_replace("//si","",$str); //过滤applet标签

$str=preg_replace("/(.*?)/si","",$str); //过滤style标签
$str=preg_replace("//si","",$str); //过滤style标签

$str=preg_replace("/(.*?)/si","",$str); //过滤title标签
$str=preg_replace("//si","",$str); //过滤title标签

$str=preg_replace("/(.*?)/si","",$str); //过滤object标签
$str=preg_replace("//si","",$str); //过滤object标签

$str=preg_replace("/(.*?)/si","",$str); //过滤noframes标签
$str=preg_replace("//si","",$str); //过滤noframes标签

$str=preg_replace("/(.*?)/si","",$str); //过滤frame标签
$str=preg_replace("//si","",$str); //过滤frame标签

$str=preg_replace("/(.*?)/si","",$str); //过滤script标签
$str=preg_replace("//si","",$str); //过滤script标签
$str=preg_replace("/网页特效/si","javascript",$str); //过滤script标签
$str=preg_replace("/vbscript/si","vbscript",$str); //过滤script标签
$str=preg_replace("/on([a-z]+)s*=/si","on1=",$str); //过滤script标签
$str=preg_replace("//si","&#",$str); //过滤script标签,如javascript:alert('aabb)

?>


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445418.htmlTechArticle正则表达式匹配html 过滤非法字符 匹配一个html标签,匹配table如下: [ss]* 或 [ss]*? 以上两个表达式,一个加了?和一个却不加?,那么这有什...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿