基于多个字符,使用Javascript从格式错误的URL中提取字符串

时间:2014-10-07 17:14:20

标签: javascript regex string substring

我有一堆Wordpress博客,使用PHP DOM'剪贴板从参考页面中提取HTML。它根据网站的网址和已知所有徽标的固定文件路径生成徽标的路径。问题是,我们刚刚实施了CDN。

博客上的徽标路径来自<img src="http://www.domain.com/images/logo.png" /><img src="http://www.domain.com//cdninfoinalongstring/morecdnstuff/images/logo.png" />,后者显然是不正确的。

我需要将src更改为:

<img src="//cdninfoinalongstring/morecdnstuff/images/logo.png" />

我熟悉.indexOf()以及.substring().split().pop()之类的内容,但尝试引用多个字符,在这种情况下会删除字符串“/ /,“失败。

2 个答案:

答案 0 :(得分:2)

嗯,你可以这样做

var arr = document.querySelectorAll('img[^=http://www.domain.com]');
for (var i = 0; i < arr.length; i++) {
    arr[i].src = arr[i].src.replace(/^http(s)?:\/\/[^\/]+/, "");
}

答案 1 :(得分:0)

由于域名不会一直被人知道,我试过这个并且似乎取得了一些成功:

theLogoPath = $('div.logo a img').attr('src');
theLogoCdnPath = theLogoPath.split("//")[2];
$('div.logo a img').attr('src','//' + theLogoCdnPath);