我刚创建了一个脚本,通过服务器端JS从网页中提取文章。 (如果您感兴趣:它用于http://pipes.yahoo.com/fb55/expandr。)
我对内部链接有点问题。有些页面包含以下链接:
/subfolder/subpage.html
我需要做的是修复它们并设置root权限,如下所示:
protocol://secondlevel.firstlevel/subfolder/subpage.html
我正在使用E4X处理页面。我不想展示我目前的令人毛骨悚然的尝试,它是马车和慢。有人为我提供解决方案吗?
答案 0 :(得分:1)
您可以使用一些正则表达式重写它们:
var baseUrl = "http://somesite.com/somepage"
var root = baseUrl.match(/^[^:]+:\/\/[^\/]+\//)[0];
// "http://somesite.com/"
var HTML = "<a href='/testing'>test</a> and <a class='test' href=\"/foo/bar\"> </a>";
HTML.replace(/<a [^>]*href=["']\/([^'"]+)["']/ig, function (whole, url) {
return whole.replace("/"+url, root+url);
});
// "<a href='http://somesite.com/testing'>test</a> and <a class='test' href=\"http://somesite.com/foo/bar\"> </a>"