Ruby,从文本中获取第一个图像

时间:2012-10-09 14:27:50

标签: ruby-on-rails ruby parsing

在Ruby类中,我想解析并获取保存在数据库中的某些文本中第一次出现的图像。特别是,我想收集所有src属性。

Nokogiri会帮助我吗?我该怎么办?


EDIT1:

我写道:

// database stuff...
doc = Nokogiri::HTML(my_html)

doc.search('img') do |img_tag|
  puts img_tag
end

但我无法收集图像标签。


EDIT2:

我找到了解决方案:

doc.search('img').each do |img_tag|
  puts img_tag.attributes['src']
end

2 个答案:

答案 0 :(得分:9)

试试这个:

require 'nokogiri'

str = "some text <img src='/some/path' /> some another text"
doc = Nokogiri::HTML(str)
if img = doc.xpath('//img').first
    p img.attr('src')
end

请参阅live demo here

答案 1 :(得分:2)

doc.xpath('//img').first.attr('src').text