我有一个带有图片标签的字符串,如下所示
var str = '<img src="www.client.jpg><img src="www.custums.png">';
我必须找到图片标签和src,即我需要将图片标签推送到一个数组但是现在我不能使用jsdom,因为我现在在我的服务器上有版本问题。所以,任何人都可以建议我帮助不使用jsdom.Thanks。
答案 0 :(得分:1)
只需拆分字符串,然后像这样过滤到网址;
var str = '<img src="www.client.jpg"><img src="www.custums.png">';
console.log(str.split("\"").filter(t => t.startsWith("www.")));
您的示例缺少&#34;,它会使它无法正确解析,但假设html实际上是该形式但没有错误,它只会给你网址。
答案 1 :(得分:0)
您可以使用xpath进行提取,路径为//img@src
。或者,您可以使用xml到json解析器;像fast-xml-parser
答案 2 :(得分:0)
将字符串拆分为图像标记数组。将字符串转换为HTML DOM对象,如下所示。然后你可以轻松获得图像标记的src。
var str = "<img src='www.client.jpg'><img src='www.custums.png'>";
var newstring = str.replace(/></gi, ">,<"); // Replace '><' with '>,<' so that you can split with ','
var imgs = newstring.split(",");
for(i=0; i<imgs.length; i++) {
// Create a temporary div, assign img string as its innerHTML, then gets its content
var d = document.createElement('div');
d.innerHTML = imgs[i];
// Reassign the imgs array with HTML DOM object instead of string
imgs[i] = d.firstChild;
console.log(imgs[i].src);
}
&#13;