我有一堆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()
之类的内容,但尝试引用多个字符,在这种情况下会删除字符串“/ /,“失败。
答案 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);