返回列表 发帖

BUG,TW的REGEX过滤有BUG

我是在做过滤时发现的.我的TW是2215,深度XPSP2v5.10+IE7.0英文版.主要是对163新闻相关页面做过滤,规则如下.
  1. #exd#*.163.com*#<div.*ad(_200|Text|_289|RPic|Rtext|_ad_[\d]{2}).*?>[\s\S]*?</div>###
  2. #exd#*.163.com*#<(div).*"(?:ad360|leftad|div_pic1|Ad)"[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>[\s\S]*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>###
  3. #exd#*.163.com*#<script.*(zl_|BidAdsCode).*?</script>###
  4. #exd#*.163.com*#<(embed|iframe)[\s\S].*netease[\s\S]*?</\1>###
复制代码
除了有种页面外其他都正常,我找了半天原因也找不出来.应该是TW的原因吧.而且过滤有问题部分的代码拷出来和正常过滤页面那部分的代码做对比,两者是完全一样的.就是同样的代码在不同域名下的效果不一样.
如:
http://auto.163.com/08/0827/10/4KBLTBR0000827U2.html
http://news.163.com/08/0828/04/4KDGH8JH0001124J.html
效果如: 截图.png
除了下面类型的,下面的是异常的:
http://war.news.163.com/08/0827/09/4KBFAS8I00011MTO_2.html
http://war.news.163.com/08/0827/09/4KBFAS8I00011MTO_2.html
简单来说就是以war.news.163.com开头的过滤有异常.同一个页面,不停的刷新,可以会刷出下面三种过滤后的情况,也有可能刷出正常过滤的情况.

截图2.png
                  截图3.png
截图1.png

[ 本帖最后由 shieep 于 2008-8-28 09:40 编辑 ]

还有规则在REGEX BUDDY中试过好几遍都没有问题的.

TOP

在我这里表现还好. 没有出现源码的情况
是不是网速非常慢 ?

还有.  REGEX BUDDY 跟tw内置的正则解释库不一样..
天下无不散之筵席.

世界之窗浏览器开发计划

TOP

原帖由 needed 于 2008-8-28 12:27 发表 http://bbs.ioage.com/cn/images/common/back.gif
在我这里表现还好. 没有出现源码的情况
是不是网速非常慢 ?

还有.  REGEX BUDDY 跟tw内置的正则解释库不一样..

应该不是网速的问题吧.其他页面没有问题,只有war.news.163.com页面有问题.觉得很奇怪.
2216也是这样的.
下午我装下IE8看看.

TOP

你的是IE几和什么系统.

TOP

你用的是哪个版的TW,我把配置文件删除了.让TW新建了个.然后把规则拷进去还是有问题.

TOP

2.2.1.6 IE6  补丁至1年前.
天下无不散之筵席.

世界之窗浏览器开发计划

TOP

刚装了IE8.IE8下也一样.不正常的页面多刷几次也可能刷出正常过滤的来.

TOP

规则有问题。你用下面这段源码测试下结果就明白了:
<div id="good"><div id="adtext">
<div id="good"></div></div></div>

你规则都是<div.*这样开头,所以只要源码的某一行中,含有<div和ad*字符,不管是个<div均会从第一个出现的<div处开始匹配。
同时,除了第二条规则之外,其它规则都无法处理嵌套。这样的结果是过滤后的标记不能配对,产生问题在所难免。

[ 本帖最后由 Aycox 于 2008-8-28 15:01 编辑 ]

TOP

没有出现类似问题

regexbuddy跟tw的正则是不一样的

TOP

返回列表