我有一个应用程序正在将HTML提供给变量。我需要在HTML中找到第一个图像文件的URL(如果有链接的话)。这就是我现在所拥有的:
var media = row.content.substring(row.content.indexOf('<img src="') + 1, row.content.indexOf('"'));
然而,这并没有抓住正确的信息。谁能看到我做错了什么?
谢谢!
答案 0 :(得分:0)
row.content.indexOf('“')返回src =
之后的第一个双引号的位置答案 1 :(得分:0)
您的第二个indexOf
将至少返回"
<img src="
,可能是之前的var ix,
media = row.content.substring(
ix = row.content.indexOf('<img src="') + 1, row.content.indexOf('"', ix+10)
);
。尝试:
var media = (row.content.match(/<img[^>]+src\s*=\s*"([^"]+)/) || 0)[1];
这将确保它在img src中找到之后的第一个引号。
更好的方法是使用正则表达式:
{{1}}