JavaScript 从字符串中提取 src

javascript extract src from string

本文关键字:提取 src 字符串 JavaScript      更新时间:2023-09-26
如何

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

由于你使用的是JavaScript,所以你有一个现成的DOM解析器。使用它。

var tmp = document.createElement('div');
tmp.innerHTML = str;
var img = tmp.getElementsByTagName('img')[0];
var src = img.src;

做 ^_^

使用正则表达式的工作示例:

<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>

使用了此处的正则表达式字符串:正则表达式在字符串中查找 URL

它必须通过模式匹配?使用 jquery:

var src = $('img').attr('src');

你应该考虑使用 jquery 来实现这一点。如果你在字符串上有你的html,那么就做

$('<div>' + myHtml + '</div>').find('img').attr('src');

来解析它。如果你没有使用jquery,你可以尝试这样的东西:

new DOMParser().parseFromString(myHtml, "text/html");

用普通的js来获得dom。