0

我有一个字符串。该字符串是一个 html 代码,它充当我正在创建的博客文章的预告片。整个 html 代码(预告片)存储在数据库中的一个字段中。

我的目标:我希望当用户(Facebook 之类的社交按钮)喜欢某个博客文章时,正确的数据会显示在他的新闻提要上。为了做到这一点,我需要在第一次出现图像时从预告片中提取其中的图像路径src="i-m-a-g-e--p-a-t-h"。当用户在预告片中只放一张图片时我成功了,但如果他不小心放了两张或更多图片,整个事情就会崩溃。<p>此外,对于描述字段,我需要提取标签内第一次出现的文本。问题还在于用户可以将图像放在第一个标签内。

如果专家能帮助我解决困扰我好几天的问题,我将不胜感激。

可以在这里找到带有正则表达式的文本字符串,用于提取 src:http ://rubular.com/r/gajzivoBSf

谢谢!

4

1 回答 1

2

不要尝试自己解析 HTML。让专业人士来做。

require 'nokogiri'
frag = Nokogiri::HTML.fragment( your_html_string )
first_img_src = frag.at_css('img')['src']
first_p_text  = frag.at_css('p').text
于 2012-04-14T23:25:53.240 回答