世界之窗论坛's Archiver

tigher2005 发表于 2007-1-22 12:41

头大了,关于正则式,谁能给我个例子阿

正则式实在好难,有没有简单的例子能教教我
譬如
[url=http://bbs.ioage.com/bbs/777adjs777.js]http://bbs.ioage.com/bbs/777adjs777.js[/url]
我想屏蔽掉adjs这个关键词,不管哪个网站
只要网址有adjs的js都屏蔽掉,请问正则式要怎么表示
我只想屏蔽掉[url=http://bbs.ioage.com/]http://bbs.ioage.com/[/url]  这网站有关于adjs的js
请问要怎么表示呢
感谢

WeeVee 发表于 2007-1-22 12:55

置顶帖,看见吗?[img]http://bbs.yoyocici.com/images/smilies/smilies_yoyocici/yociexp74.gif[/img]

tigher2005 发表于 2007-1-22 12:58

[quote]原帖由 [i]WeeVee[/i] 于 2007-1-22 12:55 发表
置顶帖,看见吗?[img]http://bbs.yoyocici.com/images/smilies/smilies_yoyocici/yociexp74.gif[/img] [/quote]

看了但是看不懂阿

mutalisker 发表于 2007-1-22 13:03

厄。。。我会的不多
应该是写成[url]http://bbs[/url]\.ioage\.com/.*?adjs吧

caten 发表于 2007-1-22 13:08

前面的HTTP://不要吧....   /也似乎也需要转义写成\/?

kidkidkid 发表于 2007-1-22 13:23

呵呵, 这个不好说, 因为前缀可能是HTTP(大小写不确定), 也可能是相对目录
真正的HTML内容可能譬如(JS): src="http://bbs.ioage.com/ad/adjs.js"
也可能是src=../../ad/adjs.js

所以说正则式要考虑的还是很多.
方法1:过滤整个标签对, 如<script src="bbs.ioage.com/adj.js"></script>
<iframe src="bbs.ioage.com/adj.js"></iframe>
经测试, 这样过滤的效果是最好的. 广告彻底消失, 大多数不会留下空白.
缺点是过滤的不完全, 很多广告不是在此类标签中.

方法2: 直接构造src=为起点的正则式, 替换为src="", 只是这样的过滤会留下一些广告站位的空白区域.

方法3: 以=为起点构造正则式亦是不错的选择. 替换为=""即可. 这样过滤的会比方法1的广, 但是
偶尔会有小错误.

具体的正则式偶会另外用帖子讲解.

除此之外, 还有一些特别的广告,如FLASH的, 多是new XXXFlash("http://adjs.swf", ..................)
这样的形式.. 还有一些其他的.

总之, 要想过滤的比较好, 仅仅靠写在ini里面是远远不够的.

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.