gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:48 24 4
gpt4 key购买 nike

我有以下使用 Genshi(简化)的 Python 代码:

with open(pathToHTMLFile, 'r') as f:
template = MarkupTemplate(f.read())
finalPage = template.generate().render('html', doctype = 'html')

源 HTML 文件包含 ©® 等实体。 Genshi 将它们替换为 UTF-8 字符,这会导致查看器出现问题(输出用作独立文件,而不是对 Web 请求的响应),最终会看到生成的 HTML。有什么方法可以防止 Genshi 解析这些实体吗?更常见的如 & 可以顺利通过。

最佳答案

实际上 & 并没有被传递,它被解析成一个 & 字符,然后在出路时序列化回 & 因为这是代表一个所必需的HTML 中的文字 & 符号。另一方面,© 不是必要的转义符,因此可以将其保留为原义字符。

所以不,没有办法停止正在解析的实体引用。但是您可以通过序列化为纯 ASCII 来确保非 ASCII 字符在返回的途中被重新转义:

template.generate().render('html', doctype= 'html', encoding= 'us-ascii')

你仍然不会在你的输出中得到实体引用 © ,但是你会得到字符引用 © 这是等效的并且应该是显示最终文件的任何内容都可以理解。

关于python - 可以阻止 Genshi 解析 HTML 实体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555644/

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