php在使用中过滤常用html标签的正则表达式

最近百度站长平台推出了一个新产品,就是MIP,比较适合文章站使用,CMS大学小编在给帝国cms的文章站制作mip站点时遇到了一个问题,模板代码都写好后,因为我们的内容页输出的正文是由后台的编辑器生成的,带有不少样式代码,而百度MIP是不允许带有内联样式的,这就需要对样式进行过滤了,为了方便,cms大学小编整理了常用的php正则过滤表达式,大家根据需要使用就可以了。

折叠PHP 代码
  1. <?php  
  2. $str=preg_replace("/\s+/"" "$str); //过滤多余回车  
  3. $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)  
  4. $str=preg_replace("/<\!–.*?–>/si","",$str); //注释  
  5. $str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE  
  6. $str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签  
  7. $str=preg_replace("/<(\/?br.*?)>/si","",$str); //过滤br标签  
  8. $str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签  
  9. $str=preg_replace("/<(\/?meta.*?)>/si","",$str); //过滤meta标签  
  10. $str=preg_replace("/<(\/?body.*?)>/si","",$str); //过滤body标签  
  11. $str=preg_replace("/<(\/?link.*?)>/si","",$str); //过滤link标签  
  12. $str=preg_replace("/<(\/?form.*?)>/si","",$str); //过滤form标签  
  13. $str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签  
  14. $str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //过滤applet标签  
  15. $str=preg_replace("/<(\/?applet.*?)>/si","",$str); //过滤applet标签  
  16. $str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //过滤style标签  
  17. $str=preg_replace("/<(\/?style.*?)>/si","",$str); //过滤style标签  
  18. $str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //过滤title标签  
  19. $str=preg_replace("/<(\/?title.*?)>/si","",$str); //过滤title标签  
  20. $str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //过滤object标签  
  21. $str=preg_replace("/<(\/?objec.*?)>/si","",$str); //过滤object标签  
  22. $str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //过滤noframes标签  
  23. $str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //过滤noframes标签  
  24. $str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //过滤frame标签  
  25. $str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //过滤frame标签  
  26. $str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //过滤script标签  
  27. $str=preg_replace("/<(\/?script.*?)>/si","",$str); //过滤script标签  
  28. $str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签  
  29. $str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签  
  30. $str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签  
  31. $str=preg_replace("/&#/si","&#",$str); //过滤script标签,  
  32.   
  33. $str = preg_replace( "@<script(.*?)</script>@is"""$str ); //过滤script代码  
  34. $str = preg_replace( "@<iframe(.*?)</iframe>@is"""$str );   
  35. $str = preg_replace( "@<style(.*?)</style>@is"""$str );   
  36. $str = preg_replace( "@<(.*?)>@is"""$str );   
  37. ?>  

 

Tags: php   过滤   标签
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.