【问题标题】:Grabbing information between key words javascript在关键字javascript之间抓取信息
【发布时间】:2011-07-09 00:37:50
【问题描述】:
我有一个将 HTML 输入变量的应用程序。我需要在 HTML 中找到第一个图像文件的 url(如果有链接的话)。这就是我现在拥有的:
var media = row.content.substring(row.content.indexOf('<img src="') + 1, row.content.indexOf('"'));
但是,这并没有获取正确的信息。谁能看到我做错了什么?
谢谢!
【问题讨论】:
标签:
javascript
string
substring
【解决方案1】:
您的第二个indexOf 将至少返回来自<img src=" 的",可能是更早的一个。试试:
var ix,
media = row.content.substring(
ix = row.content.indexOf('<img src="') + 1, row.content.indexOf('"', ix+10)
);
这将确保它在 img src 中找到 之后的第一个引号。
更好的方法是使用正则表达式:
var media = (row.content.match(/<img[^>]+src\s*=\s*"([^"]+)/) || 0)[1];
【解决方案2】:
row.content.indexOf('"') 正在返回 src= 之后的第一个双引号的位置