我有一个图片标签,如下所示,
var img = '<img src="http://fmp-8.cit.nih.gov/hembase/search2images/chrX.jpg" alt="image x">';
我想找到这个img的src,我编写了如下代码,
var rex = /<img[^>]+src="?([^"\s]+)"?[^>]*\/>/g;
while (m = rex.exec(text)) {
imageUrls.push(m[1]);
}
但是我的imageUrls在空甚至src元素就在那里。任何人都可以帮帮我。谢谢。
var m, imageUrls = [],
rex = /<img[^>]+src="?([^"\s]+)"?[^>]*\/>/g;
while (m = rex.exec(text)) {
imageUrls.push(m[1]);
}console.log(imageUrls+'lslsls')
for (var i = 0; i < imageUrls.length; i++) {
text = text.replace(/<img[^>]*>/, '<amp-img layout="responsive" class="ampimageheight" src="' + imageUrls[i] + '" width="200" height= "100"></amp-img>');
}
答案 0 :(得分:2)
您应该将其解析为HTML,并使用它。正则表达式不适合解析HTML
var img = '<img src="http://fmp-8.cit.nih.gov/hembase/search2images/chrX.jpg" alt="image x">';
var div = document.createElement('div');
div.innerHTML = img;
var src = div.querySelector('img').src;
console.log(src)