Board logo

标题: [已经解决]请教大家一个规则这么写(管理员最终给出解释:匹配内容过长导致规则失效) [打印本页]

作者: smile16888    时间: 2009-1-4 13:50     标题: [已经解决]请教大家一个规则这么写(管理员最终给出解释:匹配内容过长导致规则失效)

怎么过滤phpwind论坛首页的论坛统计(最新主题、最新回复……)
例如:http://www.superlucy.com  要过滤的地方如图所示。
截图1231047799.jpg

[ 本帖最后由 smile16888 于 2009-1-5 18:12 编辑 ]

图片附件: 截图1231047799.jpg (2009-1-4 13:50, 62.51 KB) / 下载次数 1217
http://bbs.theworld.cn./attachment.php?aid=58988&k=3974e371b6145ecc7d9a6bae6b052000&t=1732421434&sid=VQ6vwo


作者: elkay    时间: 2009-1-4 15:01

请参考置顶的过滤规则教程,你的要求几乎跟教程中的一样,花点心思15分钟就能搞定的
作者: smile16888    时间: 2009-1-4 15:09     标题: 回复 2# elkay 的帖子

我自己做过之后不行才来问的啊,望管理员见谅
我自己写的:
#exd#*.superlucy.com*#<table[\s\S]*?最新图片[\s\S]*?<\/table>###
好象过滤不了,请高手帮忙。谢谢。
作者: elkay    时间: 2009-1-4 20:45

看了一下,应该是匹配内容过长造成的,这种情况下可以尝试将要过滤的内容分成几段来过滤。

依你提供的页面为例,需要过滤的部份是如下的一段:
  1. <table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
  2. ......
  3. </table>
复制代码

整个table内容过长,所以你开始的规则没有效果,我稍微看了一下,table中存在大量的类似这样的内容:
  1. <div class=divindex><span class=fr style='text-align:left'>【披着毛皮的狼】</span>[<a href='thread.php?fid=74'><b> ◎ - 电脑学堂</b></a>]<a href='read.php?tid=34953' title='标  题:最老的86版五笔安装软件
  2. 作  者:披着毛皮的狼
  3. 回  复:0
  4. 点  击:7
  5. 回复时间:2009-01-04 20:16
  6. 最后回复:披着毛皮的狼'>最老的86版五笔安装软件</a></div>
  7. <div class=divindex><span class=fr style='text-align:left'>【小破孩】</span>[<a href='thread.php?fid=43'><b>◎ - 疯狂灌水 </b></a>]<a href='read.php?tid=34952' title='标  题:高房价作祟 楼市新政未根本改变交易乏振局面
  8. 作  者:小破孩
  9. 回  复:0
  10. 点  击:9
  11. 回复时间:2009-01-04 20:14
  12. 最后回复:小破孩'>高房价作祟 楼市新政未根本改变交易乏振局 ..</a></div>
  13. <div class=divindex><span class=fr style='text-align:left'>【披着毛皮的狼】</span>[<a href='thread.php?fid=74'><b> ◎ - 电脑学堂</b></a>]<a href='read.php?tid=34951' title='标  题:方便朋友们下载的:360安全卫士(可及时升级)
  14. 作  者:披着毛皮的狼
  15. 回  复:0
  16. 点  击:8
  17. 回复时间:2009-01-04 20:12
  18. 最后回复:披着毛皮的狼'>方便朋友们下载的:360安全卫士(可及时升级)</a></div>
  19. <div class=divindex><span class=fr style='text-align:left'>【小破孩】</span>[<a href='thread.php?fid=43'><b>◎ - 疯狂灌水 </b></a>]<a href='read.php?tid=34950' title='标  题:郑州市规划局19名班子成员网上“晒”述职报告
  20. 作  者:小破孩
  21. 回  复:0
  22. 点  击:10
  23. 回复时间:2009-01-04 20:06
  24. 最后回复:小破孩'>郑州市规划局19名班子成员网上“晒”述职 ..</a></div>
复制代码

很明显可以看到有如下内容是不断重复的:
  1. <div class=divindex>
  2. ...
  3. </div>
复制代码


所以,可以先用规则把这部份过滤掉,这样剩下的table内容就不会太长了,再用另外一条规则过滤这个table就行了

注:过滤规则是有先后顺序的,一定要按照需要过滤的内容的先后排序,不然会有问题
作者: smile16888    时间: 2009-1-5 18:10     标题: 回复 4# elkay 的帖子

感谢管理员,我已按照你的意思去编写规则,问题已经解决了
我又掌握多了点知识,原来匹配内容过长也会导致规则失效啊
再次感谢!

[ 本帖最后由 smile16888 于 2009-1-5 18:13 编辑 ]
作者: elkay    时间: 2009-1-5 22:21     标题: 回复 5# smile16888 的帖子

是的,当匹配的内容长度超过页面缓冲的长度就会失效




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