javascript从字符串中提取src

时间:2015-01-03 13:04:33

标签: javascript

如何通过模式匹配从此字符串中提取图像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>";

4 个答案:

答案 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\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?/
    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。