php清空字符串中的HTML标签

五月 21, 2019 | views
Comments 0

要过滤字符串中所有的html标签有两种方法一种是我们自己写一个函数,用正则过滤,一个是用php自带函数strip_tags.

  1. function clear_html_label($html
  2.  {//开源代码phpfensi.com 
  3.   $search = array ("'<script[^>]*?>.*?</script>'si""'<[/!]*?[^<>]*?>'si""'([rn])[s]+'""'&(quot|#34);'i""'&(amp|#38);'i""'&(lt|#60);'i""'&(gt|#62);'i""'&(nbsp|#160);'i""'&(iexcl|#161);'i""'&(cent|#162);'i""'&(pound|#163);'i""'&(copy|#169);'i""'&#(d+);'e"); 
  4.       $replace = array (""""""""", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr()"); 
  5.  
  6.   return preg_replace($search$replace$html); 
  7.  } 

实例应用,代码如下:

  1. $string ='aaa<br /> <script>fdsafsa'
  2. echo clear_html_label($string);//aaa fdsafsa 

利用php自带函数strip_tags();

echo strip_tags($string);//aaa fdsafsa 

总结:上面二个函数得出的结果完全相同,一个是用户自定义的过滤所有html函数,一个是php内置函数,但在效率上来说php的strip_tags()函数,肯定要高很多,至少为什么我就不说多了.




zend