当我运行这个
Nokogiri::HTML('<div class="content"><p>Hello</p><p>Good Sir</p></div>').content
我明白了
"HelloGood Sir"
有没有办法通过 Nokogiri 的 API 获得以下信息?
"Hello Good Sir"
require 'nokogiri'
doc = Nokogiri::HTML('<div class="content"><p>Hello</p><p>Good Sir</p></div>')
# below will fetch all text nodes irrespective of any tag,from the current document.
doc.xpath("//text()").map(&:text)
# => ["Hello", "Good Sir"]
doc.xpath("//text()").map(&:text).join(" ")
# => "Hello Good Sir"
# below will fetch all text nodes which are wrapped inside the p tag,
# from the current document.
doc.xpath("//p").map(&:text)
# => ["Hello", "Good Sir"]
doc.xpath("//p").map(&:text).join(" ")
# => "Hello Good Sir"
就像 Arup 指出的那样
doc = Nokogiri::HTML('<div class="content"><p>Hello</p><p>Good Sir</p></div>')
doc.css('p').map(&:text).join(" ") #=> "Hello Good Sir"