python – 可以阻止Genshi解析HTML实体吗?

python – 可以阻止Genshi解析HTML实体吗?,第1张

概述我使用Genshi(简化)有以下 Python代码: with open(pathToHTMLFile, 'r') as f: template = MarkupTemplate(f.read())finalPage = template.generate().render('html', doctype = 'html') 源HTML文件包含& copy;,& trade等实体;和& 我使用Genshi(简化)有以下 Python代码:

with open(pathToHTMLfile,'r') as f:    template = MarkupTemplate(f.read())finalPage = template.generate().render('HTML',DOCTYPE = 'HTML')

源HTML文件包含& copy;,& Trade等实体;和& reg;. Genshi用它们的UTF-8字符替换它们,这会导致查看器出现问题(输出用作独立文件,而不是对Web请求的响应),最终会看到生成的HTML.有没有办法阻止Genshi解析这些实体?更常见的是像& amp;通过就好了.

解决方法 实际上& amp; amp;没有通过,它被解析成一个&符号,然后序列化回& amp; amp; amp; amp;在出路上,因为在HTML中表示文字&符号是必要的.另一方面,& copy;不是必要的转义,因此它可以保留为文字字符.

所以不,没有办法阻止实体引用被解析.但是您可以通过序列化到纯ASCII来确保在返回的路上重新转义非ASCII字符:

template.generate().render('HTML',DOCTYPE= 'HTML',enCoding= 'us-ascii')

你仍然不会得到实体参考和复制;在你的输出中,你会得到字符引用©这是等价的,应该有希望通过显示最终文件的任何东西来理解.

总结

以上是内存溢出为你收集整理的python – 可以阻止Genshi解析HTML实体吗?全部内容,希望文章能够帮你解决python – 可以阻止Genshi解析HTML实体吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存