用Nokogiri添加节点之间的空间



我有一个HTML字符串,我想剥离所有的HTML标签。问题是每个节点的纯文本被压缩在一起,我需要在每个节点之间添加一些空白。

Nokogiri::HTML("<p>Hello</p><p>There</p>").text
Gives  => HelloThere
I want => Hello There

我能告诉Nokogiri这样做吗?

你可以做

doc = Nokogiri::HTML("<p>Hello</p><p>There</p>")
doc.xpath('//text()').to_a.join(" ")
Nokogiri::HTML("<p>Hello</p><p>There</p>").xpath("//*[not(child::*)]").map(&:text).join(' ')
# => "Hello There"

编辑:我试着自己做,但最终使用的解决方案有点像Uri Agassi的:)

irb(main):040:0> Nokogiri::HTML("<p>Hello</p><p>There</p>").xpath("//text()").map(&:text).join(" ")
=> "Hello There"

相关内容

  • 没有找到相关文章

最新更新