我有一个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"