如何通过模式匹配从此字符串中提取图像src?
var str = "<img src=\"http://l.yimg.com/a/i/us/we/52/20.gif\"/><br />\n<b>
Current Conditions:</b><br />\nFog, 16 C<BR />\n<BR /><b>";
答案 0 :(得分:3)
由于您使用的是JavaScript,因此您可以随时使用DOM解析器。使用它。
var tmp = document.createElement('div');
tmp.innerHTML = str;
var img = tmp.getElementsByTagName('img')[0];
var src = img.src;
完成^ _ ^
答案 1 :(得分:0)
使用正则表达式的工作示例:
<script>
var str = "<img src=\"http://l.yimg.com/a/i/us/we/52/20.gif\"/><br />\n<b>";
var regex = /(http|ftp|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/
var url = str.match(regex)[0];
alert(url);
</script>
使用此处的正则表达式字符串:Regular expression to find URLs within a string
答案 2 :(得分:-1)
必须通过模式匹配? 用jquery:
var src = $('img').attr('src');
答案 3 :(得分:-2)
你应该考虑使用jquery。如果你在一个字符串上有html,那就做吧
$('<div>' + myHtml + '</div>').find('img').attr('src');
解析它。如果您不使用jquery,可以尝试类似:
new DOMParser().parseFromString(myHtml, "text/html");
使用普通的js获得dom。