开发者

Nokogiri equivalent of Hpricot's html method

Hprico开发者_如何转开发t's html method spits out just the HTML in the document:

> Hpricot('<p>a</p>').html
=> "<p>a</p>"

By contrast, the closest I can come with Nokogiri is the inner_html method, which wraps its output in <html> and <body> tags:

> Nokogiri.HTML('<p>a</p>').inner_html
=> "<html><body><p>a</p></body></html>"

How can I get the behavior of Hpricot's html method with Nokogiri? I.e., I want this:

> Nokogiri.HTML('<p>a</p>').some_method_i_dont_know_about
=> "<p>a</p>"


How about:

require 'nokogiri'

puts Nokogiri.HTML('<p>a</p>').to_html #
# >> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
# >> <html><body><p>a</p></body></html>

If you don't want Nokogiri to create a HTML document, then you can tell it to parse it as a document fragment:

puts Nokogiri::HTML::DocumentFragment.parse('<p>a</p>').to_html
# >> <p>a</p>

In either case, the to_html method returns the HTML version of the document.


> Nokogiri.HTML('<p>a</p>').xpath('/html/body').inner_html
=> "<p>a</p>"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜