Board logo

标题: [PHP 语言] 分享php正则删除/去除/过滤html标记代码 [打印本页]

作者: jfx    时间: 2015-9-21 20:37     标题: 分享php正则删除/去除/过滤html标记代码

php正则怎么去除js代码
, H: l2 N# t: w8 q  m; d6 q$ t  i  a9 I* f
  1. <?php
  2. $str = 'yes,<scRipt type="text/javascript">
  3. var IKFromImport=false;
  4. </script>ok!';
  5. $text = preg_replace("'<script(.*?)<\/script>'is","",$str);
  6. //yes,ok!
  7. echo $text;
复制代码
/ D. |% l# `* L$ E' W2 Y7 v

' O  A' \4 J0 @. [2 U* [php 正则匹配css
$ ?  `) A5 `: r6 k" s  {# H: ]. @& F( _# C/ `
( _/ k# V1 c# b- g, m" I$ L
  1. echo preg_replace('/(?:(<link.+href=\")((?!http).+\.css){1}(\".*(?:type=\"text\/css\"){1}.*>))|(?:(<link.+(?:type=\"text\/css\"){1}.*href=\")((?!http).+\.css){1}(\".*>))/i',"\${1}\${4}http://a.com/\${2}\${5}\${3}\${6}",$html);
复制代码
3 g- Q- m" H" D8 h2 E* X
" ~, K* Y% G) {7 P
  1. $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
  2. "'<style[^>]*?>.*?</style>'si", // 去掉 css
  3. "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记
  4. "'<!--[/!]*?[^<>]*?>'si", // 去掉 注释 标记
  5. "'([rn])[s]+'", // 去掉空白字符
  6. "'&(quot|#34);'i", // 替换 HTML 实体
  7. "'&(amp|#38);'i",
  8. "'&(lt|#60);'i",
  9. "'&(gt|#62);'i",
  10. "'&(nbsp|#160);'i",
  11. "'&(iexcl|#161);'i",
  12. "'&(cent|#162);'i",
  13. "'&(pound|#163);'i",
  14. "'&(copy|#169);'i",
  15. "'&#(d+);'e"); // 作为 PHP 代码运行

  16. $replace = array ("",
  17. "",
  18. "",
  19. "",
  20. "\1",
  21. "\"",
  22. "&",
  23. "<",
  24. ">",
  25. " ",
  26. chr(161),
  27. chr(162),
  28. chr(163),
  29. chr(169),
  30. "chr(\1)");
  31. //$document为需要处理字符串,如果来源为文件可以$document = file_get_contents($filename);
  32. $out = preg_replace($search, $replace, $document);
复制代码
$ e: K$ d* C9 M8 d# B2 V

  H6 o- X8 Z, o- q9 Z) _: W也可以使用php的内置函数strip_tags()清除html,js,注释等标记




欢迎光临 捷飞网络论坛 (http://bbs.1kkg.com/) Powered by Discuz! 7.2