- 帖子
- 212
- 主题
- 189
- 精华
- 0
- 积分
- 1452
- 贡献
- 1134
- 激情
- 1349
- 阅读权限
- 100
- 最后登录
- 2018-6-13
|
php正则怎么去除js代码
. ^% u8 W8 M4 O# h9 q) b" v
9 G# s% `# t3 U M! A7 I- <?php
- $str = 'yes,<scRipt type="text/javascript">
- var IKFromImport=false;
- </script>ok!';
- $text = preg_replace("'<script(.*?)<\/script>'is","",$str);
- //yes,ok!
- echo $text;
复制代码 1 d, p3 T( Q+ x4 B( p" w
. {5 Y$ P# ^1 F* X* Fphp 正则匹配css
, q' U m8 z8 ]% K: h4 r J1 |2 r. r2 a% u8 @
$ [( M& a* K3 c9 A- 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);
-
复制代码
7 Q+ P) Q- ]9 Q7 @, n
" e5 ]! S% D. N- s. Y- $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
- "'<style[^>]*?>.*?</style>'si", // 去掉 css
- "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记
- "'<!--[/!]*?[^<>]*?>'si", // 去掉 注释 标记
- "'([rn])[s]+'", // 去掉空白字符
- "'&(quot|#34);'i", // 替换 HTML 实体
- "'&(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"); // 作为 PHP 代码运行
- $replace = array ("",
- "",
- "",
- "",
- "\1",
- "\"",
- "&",
- "<",
- ">",
- " ",
- chr(161),
- chr(162),
- chr(163),
- chr(169),
- "chr(\1)");
- //$document为需要处理字符串,如果来源为文件可以$document = file_get_contents($filename);
- $out = preg_replace($search, $replace, $document);
复制代码
" `5 i( t1 g) c; ~! a5 g7 X
, y! @; K( \9 ^' w也可以使用php的内置函数strip_tags()清除html,js,注释等标记 |
|