php正则过滤指定html标签示例

我们要过滤html标签或字符串中指定的html标签我们可以利用php正则来实现,下面的三个例子我们一起来看看吧.

1.正则过滤指定标签,代码如下:

  1. /**
  2. * @param $content
  3. * @return mixed
  4. * 过滤a标签保留内容
  5. */
  6. public function delete_tags_a($content){
  7. $content = preg_replace("#<a[^>]*>(.*?)</a>#is", "$1", $content);
  8. return $content;
  9. }

2.过滤所有html标签内容,代码如下:

  1. /**
  2. * @param $content
  3. * @param string $tag 传入要删除的标签
  4. * @param bool $ident true 保留标签内容,false不保留标签内容
  5. * @return mixed
  6. */
  7. public function delete_tags($content,$tag='a',$ident=true){
  8. if($ident){ //开源软件:phpfensi.com
  9. $content = preg_replace("#<{$tag}[^>]*>(.*?)</{$tag}>#is", "$1", $content);
  10. }else{
  11. $content = preg_replace("/(<$tag.*?>[\s\S]*?<\/$tag>)/",'',$content);
  12. }
  13. return $content;
  14. }

3.代码如下:

  1. /**
  2. * @param $str
  3. * @return mixed|string
  4. * 过滤所有html标签
  5. */
  6. public function deletehtml($str)
  7. {
  8. $str = trim($str);
  9. $str=strip_tags($str,"");
  10. $str=preg_replace("{\t}","",$str);
  11. $str=preg_replace("{\r\n}","",$str);
  12. $str=preg_replace("{\r}","",$str);
  13. $str=preg_replace("{\n}","",$str);
  14. $str=preg_replace("{ }","",$str);
  15. $str=preg_replace("{ }","",$str);
  16. return $str;
  17. }

当然还有一些php函数可以直接过滤,他会过滤除了字符串之外的所有html标签,这个函数我就不介绍了.