Nokogiri防止转换实体

|
def wrap(content)
  require \"Nokogiri\"
  doc = Nokogiri::HTML.fragment(\"<div>\"+content+\"</div>\")
  chunks = doc.at(\"div\").traverse do |p|
    if p.is_a?(Nokogiri::XML::Text)
      input = p.content
      p.content = input.scan(/.{1,5}/).join(\"&shy;\")
    end
  end
  doc.at(\"div\").inner_html
end

wrap(\"aaaaaaaaaa\")
给我
\"aaaaa&amp;shy;aaaaa\"
代替
\"aaaaa&shy;aaaaa\"
如何获得第二个结果?     
已邀请:
        返回
doc.at(\"div\").text
代替
doc.at(\"div\").inner_html
但是,这会从结果中剥离所有HTML。如果需要保留其他标记,则可以使用CGI.unescapeHTML摆脱困境:
CGI.unescapeHTML(doc.at(\"div\").inner_html)
    

要回复问题请先登录注册