【发布时间】:2011-12-20 19:06:16
【问题描述】:
我正在尝试使用greasemonkey 即时更改网页的网址。
要更改的主题示例:
<p><a rel="nofollow" href="http://site.com/goto/http_rapidshare_com_files_1401021221_SK_RG_X_FLAWL3SS_part01_rar/11609/107" rel="nofollow">http://rapidshare.com/files/1401021221/SK.RG.X.FLAWL3SS.part01.rar</a></p>
<p><a rel="nofollow" href="http://site.com/goto/http_rapidshare_com_files_3525685465_1_3_3_8_com_Parenthood_2010_S03E07_720p_HDTV_X264_DIMENSION_mkv/11598/51" rel="nofollow">http://rapidshare.com/files/3525685465/1-3-3-8.com_Parenthood.2010.S03E07.720p.HDTV.X264-DIMENSION.mkv</a></p>
GreaseMonkey 脚本:
var els = document.getElementsByTagName("*");
for(var i = 0, l = els.length; i < l; i++) {
var el = els[i];
el.innerHTML = el.innerHTML.replace(/<p><a rel="nofollow" href=".*?" rel="nofollow">(.*?)<\/a><\/p>/img, '<p><a rel="nofollow" href="$1" rel="nofollow">$1</a><p>');
}
期望的输出:
<p><a rel="nofollow" href="http://rapidshare.com/files/1401021221/SK.RG.X.FLAWL3SS.part01.rar" rel="nofollow">http://rapidshare.com/files/1401021221/SK.RG.X.FLAWL3SS.part01.rar</a></p>
<p><a rel="nofollow" href="http://rapidshare.com/files/3525685465/1-3-3-8.com_Parenthood.2010.S03E07.720p.HDTV.X264-DIMENSION.mkv" rel="nofollow">http://rapidshare.com/files/3525685465/1-3-3-8.com_Parenthood.2010.S03E07.720p.HDTV.X264-DIMENSION.mkv</a></p>
基本上,上面的正则表达式应该将 href (http://site.com/goto/http_rapidshare_com_files_1401021221_SK_RG_X_FLAWL3SS_part01_rar/11609/107) 更改为 URL 的可见文本 (http:/ /rapidshare.com/files/1401021221/SK.RG.X.FLAWL3SS.part01.rar)但由于某种原因它没有,知道为什么吗?
谢谢大家!
问候,
吊球
【问题讨论】:
标签: javascript regex url greasemonkey replace