gpt4 book ai didi

html - 如何防止 Nokogiri 对 HTML 片段中的实体进行编码

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:10 25 4
gpt4 key购买 nike

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&amp;that=2\">Testing</a>"
f.to_html # => "<a href=\"http://example.com?this=1&amp;that=2\">Testing</a>"

对使用 to_html(encoding: 'UTF-8') 或 US-ASCII 没有帮助。

这看起来很常见,解析有效的链接格式并希望将其呈现为有效的 HTML。

How to make Nokogiri transparently return un/encoded Html entities untouched?没有帮助。

最佳答案

Nokogiri 的 HTML 解析器会自动更正源文档中的错误。 URL 中的裸符号是 actually an error , 所以 Nokogiri 正在纠正它。如果您查看 f.errors,您会发现它认为 &that 不是有效实体并且缺少分号,因此它将 & 号修复为 &,使其成为有效的 HTML。

关于html - 如何防止 Nokogiri 对 HTML 片段中的实体进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9492471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com