当我使用Nokogiri执行以下操作时:
some_html = '<img src="bleh.jpg"/>test<br/>'
f = Nokogiri::HTML(some_html)
#do some processing
puts f
它将打印整个XHTML doc结构,其中包含高级代码。
如何打印/返回/获取some_html
变量中的html部分?
没有
f
将返回:
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www
.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n<img src=\"bleh.jpg\">test<br>\n
</body></html>\n"
我只想要内部/片段部分:
<img src=\"bleh.jpg\">test<br>
答案 0 :(得分:35)
而不是使用Nokogiri::HTML(...)
解析使用Nokogiri::HTML::fragment(...)
:
asdf = Nokogiri::HTML::fragment('<img src="bleh.jpg">test<br>')
print asdf.to_html
# >> <img src="bleh.jpg">test<br>
答案 1 :(得分:0)
'html'部分是什么意思?
只需f.text()
即可获取内部文字。