Извлечение IMG-тегов в Ruby - PullRequest
5 голосов
/ 28 апреля 2011

Можно ли извлечь тег IMG (или просто атрибут src тега IMG) из блока HTML в Ruby?

Например, если у меня есть блок HTML, например:

<p>Lorem ipsum dolor sit amet, labore et dolore magna aliqua.<img src="example.jpg" alt="" /> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>

Могу ли я извлечь только тег IMG или src этого тега IMG через Regex или каким-либо другим способом?

Заранее спасибо за любые предложения!

Ответы [ 4 ]

31 голосов
/ 28 апреля 2011

Использование Нокогири :

require 'nokogiri' # gem install nokogiri
doc = Nokogiri::HTML( my_html_string )
img_srcs = doc.css('img').map{ |i| i['src'] } # Array of strings
7 голосов
/ 28 апреля 2011

Вы можете использовать это регулярное выражение

html_str[/img.*?src="(.*?)"/i,1]

Если вы хотите более сложный анализатор HTML, я рекомендую nokogiri

2 голосов
/ 28 апреля 2011

Есть много способов сделать это.Я предпочитаю использовать камень Нокогири .

Прежде чем вы зайдете слишком далеко в этом, я предлагаю прочитать следующее, написанное Джеффом Этвудом относительно анализа с помощью регулярных выражений: Парсинг Html Путь Ктулху

2 голосов
/ 28 апреля 2011

Используйте Nokogiri для анализа HTML и поиска тегов img для извлечения атрибута src.

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