[英]How to prevent Nokogiri from encoding entities in HTML fragments
Nokogiri 1.5.0
我無法輸出帶有查詢參數的鏈接的解析片段,特別是href中的&符號。 &符號由其html實體替換。
f = Nokogiri::HTML.fragment(%q{<a href="http://example.com?this=1&that=2">Testing</a>})
f.to_s # => "<a href=\"http://example.com?this=1&that=2\">Testing</a>"
f.to_html # => "<a href=\"http://example.com?this=1&that=2\">Testing</a>"
沒有幫助使用to_html(encoding: 'UTF-8')
或US-ASCII。
這似乎很常見,解析有效的鏈接格式並希望將其呈現為有效的HTML。
Nokogiri的HTML解析器自動更正源文檔中的錯誤。 URL中的裸露&符號實際上是一個錯誤 ,所以Nokogiri正在糾正它。 如果你看一下f.errors
,你可以看到它並不認為&that
是一個有效的實體,缺少一個分號,所以它修復符號來&
,使其成為有效的HTML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.