去掉html标签和空格等

<?php
$str = '<span style="color:#f00;">good;&nbsp;world</span>';
echo $str.'<br>';
$str = preg_replace("/&[a-z]+\;/i",'',$str);
echo strip_tags($str);

 

 1 //替换字符
 2 function replaceFilterHtml($str, $filterStr = '') {
 3     $str=preg_replace("/\s+/", " ", $str); //过滤多余回车
 4     $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
 5     $str=preg_replace("/<\!–.*?–>/si","",$str); //注释
 6     $str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE
 7     
 8     $replaceArr = array('html', 'div', 'b', 'br', 'p','h1','h2','h3','h4','h5','h6','head','meta','body','link','form','applet','style','title','object','noframes','javascript','vbscript','img','span','strong','ui','em','pre','li','ul','dd','dl','dt','ol');
 9     
10     if($key = array_search($filterStr, $replaceArr)) {
11         unset($replaceArr[$key]);
12     }
13     
14     $replaceStr = implode('|', $replaceArr);
15     
16     $str=preg_replace("/<(\/?(".$replaceStr.").*?)>/si","",$str); //过滤html标签
17     $str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
18     $str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签
19     $str=preg_replace("/&#/si","&#",$str); //过滤script标签,如javAsCript:alert
20     return $str;
21 }

 

posted @ 2013-11-07 09:24  幻星宇  阅读(2507)  评论(0编辑  收藏  举报