2009-11-19 1 views

답변

4

아무 것도없는 것은 무엇입니까?

nodeset.inner_html 
0

이전 버전의 libxml2로 인해 Nokogiri에서 일부 이스케이프 문자를 반환 할 수 있습니다. 최근에이 문제가 발생했습니다.

1

는 CDATA에 노드를 랩 :

def wrap_in_cdata(node) 
    # Using Nokogiri::XML::Node#content instead of #inner_html (which 
    # escapes HTML entities) so nested nodes will not work 
    node.inner_html = node.document.create_cdata(node.content) 
    node 
end 

Nokogiri::XML::Node#inner_html는 CDATA 섹션을 제외하고 HTML 엔티티를 이스케이프합니다.

fragment = Nokogiri::HTML.fragment "<div>Here is an unescaped string: <span>Turn left > right > straight & reach your destination.</span></div>" 
puts fragment.inner_html 
# <div>Here is an unescaped string: <span>Turn left &gt; right &gt; straight &amp; reach your destination.</span></div> 


fragment.xpath(".//span").each {|node| node.inner_html = node.document.create_cdata(node.content) } 
fragment.inner_html 
# <div>Here is an unescaped string: <span>Turn left > right > straight & reach your destination.</span>\n</div>