我们要过滤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标签,这个函数我就不介绍了.
新闻热点
疑难解答