Захват информации между ключевыми словами JavaScript - PullRequest
0 голосов
/ 09 июля 2011

У меня есть приложение, которое подает HTML в переменную.Мне нужно найти URL для первого файла изображения в HTML (если есть ссылка вообще).Это то, что у меня есть сейчас:

var media = row.content.substring(row.content.indexOf('<img src="') + 1, row.content.indexOf('"'));

Однако, это неверная информация.Кто-нибудь может увидеть, что я делаю не так?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 июля 2011

Ваш второй 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];
0 голосов
/ 09 июля 2011

row.content.indexOf ('"') возвращает позицию первой двойной кавычки, которая идет сразу после src =

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...