2009-11-04 11 views
10

Kiedy należy wykonać następujące czynności z Nokogiri:tworzenie tylko fragment HTML i odesłanie go

some_html = '<img src="bleh.jpg"/>test<br/>' 
f = Nokogiri::HTML(some_html) 
#do some processing 
puts f 

będzie wydrukować cały XHTML strukturę doc z górnym kod.

Jak mogę po prostu wydrukować/zwrócić/uzyskać część html, która jest w zmiennej some_html?


nr

f powróci:

"<!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" 

chcę tylko wewnętrzną część/fragment:

<img src=\"bleh.jpg\">test<br> 

Odpowiedz

1

Co masz na myśli przez 'html' części ?

Po prostu wykonaj f.text(), aby uzyskać wewnętrzny tekst.

30

Zamiast analizowania wykorzystaniem Nokogiri::HTML(...) korzystanie Nokogiri::HTML::fragment(...):

asdf = Nokogiri::HTML::fragment('<img src="bleh.jpg">test<br>') 
print asdf.to_html 
# >> <img src="bleh.jpg">test<br> 
+1

jest to kwestia stylu, ale osobiście uważam Nokogiri :: HTML.fragment mniej kłopotliwe niż Nokogiri :: HTML :: fragment - to nie wygląda literówka ;) – mkk

Powiązane problemy