我尝试使用Greasemonkey脚本替换部分网址,但很难实现我想要做的事情。
原始网址如下:
http://x1.example.to/images/thumb/50/157/1571552600.jpg
http://x2.example.to/images/thumb/50/120/1201859695.jpg
http://x3.example.to/images/thumb/50/210/2109983330.jpg
我想要实现的目标是:
http://example.to/images/full/50/157/1571552600.jpg
http://example.to/images/full/50/120/1201859695.jpg
http://example.to/images/full/50/210/2109983330.jpg
我只想将拇指替换为完整并删除 x1 .example.to, x2 .example.to, x3 .example.to, x4 .example.to等。完全来自原始网址,因此新的网址将像{{1}一样开始}
我如何实现这一目标?
我找到了来自this answer的Greasemonkey脚本,但确实试图解决但失败了。
这是我到目前为止所做的事情。
example.to/images/full/
对此有何帮助?
答案 0 :(得分:4)
您忘记将http://
部分放入替换网址中
/^(https?:\/\/)[^.]+\.(example\.to\/images\/)thumb\/(.+)$/i
然后:
.replace(regex, "$1$2full/$3");
您可以看到结果here。
答案 1 :(得分:0)
以下是可以做的事情的一个例子:
var urls = ['http://x1.example.to/images/thumb/50/157/1571552600.jpg',
'http://x2.example.to/images/thumb/50/120/1201859695.jpg',
'http://x3.example.to/images/thumb/50/210/2109983330.jpg'];
for (var i = 0, len = urls.length; i < len; i++) {
urls[i] =
urls[i].replace(/:\/\/[^\.]+\.(example.to\/images\/)thumb/, '://$1full');
console.log(urls[i]);
}
/* result
"http://example.to/images/full/50/157/1571552600.jpg"
"http://example.to/images/full/50/120/1201859695.jpg"
"http://example.to/images/full/50/210/2109983330.jpg"
*/
以下是Fiddle