我们要过滤html标签或字符串中指定的html标签我们可以利用php正则来实现,下面的三个例子我们一起来看看吧.
1.正则过滤指定标签,代码如下:
- /**
 - * @param $content
 - * @return mixed
 - * 过滤a标签保留内容
 - */
 - public function delete_tags_a($content){
 - $content = preg_replace("#<a[^>]*>(.*?)</a>#is", "$1", $content);
 - return $content;
 - }
 
2.过滤所有html标签内容,代码如下:
- /**
 - * @param $content
 - * @param string $tag 传入要删除的标签
 - * @param bool $ident true 保留标签内容,false不保留标签内容
 - * @return mixed
 - */
 - public function delete_tags($content,$tag='a',$ident=true){
 - if($ident){ //开源软件:Vevb.com
 - $content = preg_replace("#<{$tag}[^>]*>(.*?)</{$tag}>#is", "$1", $content);
 - }else{
 - $content = preg_replace("/(<$tag.*?>[\s\S]*?<\/$tag>)/",'',$content);
 - }
 - return $content;
 - }
 
3.代码如下:
- /**
 - * @param $str
 - * @return mixed|string
 - * 过滤所有html标签
 - */
 - public function deletehtml($str)
 - {
 - $str = trim($str);
 - $str=strip_tags($str,"");
 - $str=preg_replace("{\t}","",$str);
 - $str=preg_replace("{\r\n}","",$str);
 - $str=preg_replace("{\r}","",$str);
 - $str=preg_replace("{\n}","",$str);
 - $str=preg_replace("{ }","",$str);
 - $str=preg_replace("{ }","",$str);
 - return $str;
 - }
 
当然还有一些php函数可以直接过滤,他会过滤除了字符串之外的所有html标签,这个函数我就不介绍了.
新闻热点
疑难解答