繁体   English   中英

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

[英]Extract string from malformed URL using Javascript, based on multiple characters

我有一堆 Wordpress 博客,它们使用 PHP DOM ' scraper ' 从参考页面中提取 html。 它根据站点的 url 生成徽标的路径和所有徽标都已知的固定文件路径。问题是,我们刚刚实现了一个 CDN。

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

我需要将 src 更改为:

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

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

嗯,你可以这样做

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)?:\/\/[^\/]+/, "");
}

由于域并不总是为人所知,我尝试了这个并且似乎取得了一些成功:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM