首页 新闻 搜索 专区 学院

怎么过滤掉网页中的脚本块

0
悬赏园豆:50 [已解决问题] 解决于 2008-08-11 12:41
<P>最近做一个下载网页的程序,下载后想要把网页中的无用内容都过滤掉。</P><P>想找一个过滤javascript脚本块的正则表达式。</P><P>让我崩溃的是,在网上找了三天,竟找不到一个能用的。</P><P>比如这个:"&lt;script[\s\S]+&lt;/script *&gt;"</P><P>它会把"&lt;script"和"&lt;/script&gt;"中所有都替换掉。<BR>如果页头部分有个脚本块,然后页面底部也有一个脚本块,它就把这之间所有内容给匹配了。这显然是不正确的。<BR></P><P>期待高人...</P>
luotong的主页 luotong | 初学一级 | 园豆:7
提问于:2008-08-11 10:23
< >
分享
最佳答案
0
<script.+?</script *> 我测试了一下,测试代码如下: string t = System.Text.RegularExpressions.Regex.Replace( "<script aaa><--ass--></script>bbb<script aaa>ass</script>", @"<script.+?</script *>", ""); 结果是bbb,即script 以外的部分,应该是你所希望的结果 如果用 <script[\s\S]+</script *> 结果是"" 用<script[^<]+</script *> 结果是: <script aaa><--ass--></script>bbb
eaglet | 专家六级 |园豆:17119 | 2008-08-11 12:06
其他回答(3)
0
没有办法把所有的脚本块全部过滤掉
司徒拔's Paradise | 园豆:480 (菜鸟二级) | 2008-08-11 10:42
0
http://www.cnblogs.com/skyblue/archive/2007/03/14/674554.html 看看这个,好多人都研究过了,成果直接拿来用还是不错的,感谢原作者
丁学 | 园豆:18530 (专家六级) | 2008-08-11 10:50
0
<script[^<]+</script *>
重典 | 园豆:2442 (老鸟四级) | 2008-08-11 11:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册