Page 1 of 1

纳米盘的替换问题

Posted: Jan 05 2009, 19:38
by zizaiwang
我想直接读出文件的下载位置,所以采用以下代码来将链接替换为直接下载,在测试的时候是通过了 ,可是在网页上面总是没有反应,请大家帮我看看吧,问题是出在哪呢?

链接例子:http://www.namipan.com/d/6a67d96cdfcb11 ... 10fd997300

Code: Select all

[Patterns]
Name = "www.namipan.com/*"
Active = TRUE
URL = "www.namipan.com/*"
Limit = 356
Match = "<a href="javascript:AddLink*http://   \1  "*>> 纳米机器人专用链接</a>"
Replace = "<a href="http://   \1  >> 点击下载</a>"

Re: 纳米盘的替换问题

Posted: Jan 05 2009, 20:48
by phoenix
是纳米盘的网页编码为utf-8的原因,解决方法请参考 http://forum.proxomitron.cn/viewtopic.php?f=2&t=111

或试试不匹配中文,比如:

Code: Select all

[Patterns]
Name = "www.namipan.com/*"
Active = TRUE
URL = "www.namipan.com/"
Bounds = "<a\s*</a>"
Limit = 356
Match = "<a href="javascript:AddLink\("\1'[^<]+</a>"
Replace = "<a href="\1">Direct Link</a>"

Re: 纳米盘的替换问题

Posted: Jan 05 2009, 21:19
by zizaiwang
谢谢版主
问题已经解决,没注意到还有这种问题 ,以前没遇过 。 学习了

Re: 纳米盘的替换问题

Posted: Jan 06 2009, 14:06
by ddbb

Code: Select all

Match = "<a href="javascript:AddLink\("\1'[^<]+</a>"
这里我没看懂........

里面AddLink后面的\("\1' 里面除了\1 我都没看明白是怎么匹配到URL的

Re: 纳米盘的替换问题

Posted: Jan 06 2009, 15:35
by phoenix
以1楼的例子来说,要匹配的代码为:
<a href="javascript:AddLink('http://img.namipan.com/downfile/6a67d96 ... dlcn03.exe')">> 纳米机器人专用链接</a>
<a href="javascript:AddLink\(" 匹配前面的蓝色代码,'[^<]+</a> 匹配后面的棕色代码,\1 匹配中间的url。

Re: 纳米盘的替换问题

Posted: Jan 06 2009, 16:13
by ddbb
基本明白了.........刚才主要是没看明白那个 \(
看了要匹配的内容才明白那个\是什么作用

还有一个小问题.......
<a href="javascript:AddLink\(" 匹配前面的蓝色代码
这个最后 也就是( 后面 应该是 ' 吧 为什么用了 "

Re: 纳米盘的替换问题

Posted: Jan 06 2009, 17:01
by phoenix
引自 http://www.proxomitron.cn/help/Matching%20Rules.html
" The double quote - it will match either double or single quotes (since either may be used in HTML).
注意到 '[^<]+</a> 这里我又用了单引号吗?它是和开头的双引号对应的。
' The single quote is smarter than your average quote: It attempts to match the appropriate ending quote for any quote previously matched by the double quote

Re: 纳米盘的替换问题

Posted: Jan 06 2009, 17:40
by ddbb
基本明白了.......
简单的说就是 " 不管是 " 还是 ' 都能匹配到
而 ' 当前面有"出现的时候 就可以用来匹配结束....同样也是都能匹配得到.......而不匹配中间出现的其他的 " '
是这样吧......

配合翻译软件结合例子看了半个小时才看明白.......

Re: 纳米盘的替换问题

Posted: Jan 02 2010, 23:03
by phoenix
更新下规则:

Code: Select all

[Patterns]
Name = "Namipan Download Direct Link"
Active = TRUE
URL = "(www|d).namipan.com/d/"
Limit = 768
Match = "style="display:none;'><a href=javascript:AddLink\("\1'[^<]+</a>"
Replace = "><a href="$UESC(\1)">Direct Link</a>$STOP()"