Ответ 1
Вместо синтаксического анализа с использованием 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>
Когда я делаю следующее с Nokogiri:
some_html = '<img src="bleh.jpg"/>test<br/>'
f = Nokogiri::HTML(some_html)
#do some processing
puts f
Он напечатает всю структуру документа XHTML с верхним кодом в нем.
Как я могу просто напечатать/вернуть/получить часть html, которая находится в переменной some_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>
Вместо синтаксического анализа с использованием 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>
Что вы подразумеваете под частью 'html'?
Просто сделайте f.text()
, чтобы получить внутренний текст.