Board logo

标题: 头大了,关于正则式,谁能给我个例子阿 [打印本页]

作者: tigher2005    时间: 2007-1-22 12:41     标题: 头大了,关于正则式,谁能给我个例子阿

正则式实在好难,有没有简单的例子能教教我
譬如
http://bbs.ioage.com/bbs/777adjs777.js
我想屏蔽掉adjs这个关键词,不管哪个网站
只要网址有adjs的js都屏蔽掉,请问正则式要怎么表示
我只想屏蔽掉http://bbs.ioage.com/  这网站有关于adjs的js
请问要怎么表示呢
感谢
作者: WeeVee    时间: 2007-1-22 12:55

置顶帖,看见吗?http://bbs.yoyocici.com/images/smilies/smilies_yoyocici/yociexp74.gif
作者: tigher2005    时间: 2007-1-22 12:58

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


看了但是看不懂阿
作者: mutalisker    时间: 2007-1-22 13:03

厄。。。我会的不多
应该是写成http://bbs\.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里面是远远不够的.




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2