gpt4 book ai didi

python - 制作 Bleach 以允许代码标签

转载 作者:行者123 更新时间:2023-11-28 19:11:44 25 4
gpt4 key购买 nike

我正在尝试使用 bleach转义 HTML 标签。它工作得很好,除非我试图插入一个被剪断的代码作为页面的内容。片段是这样插入的:

<pre>
<code>
Code sample
</code>
</pre>

代码示例可能包含 html 标记。如果标签在 <pre><code> 内,我怎样才能使漂白剂不转义标签? ?我知道我可以将一些标签列入白名单,但似乎没有办法将所有标签列入白名单,如果它们在代码块和黑名单中,那么在其他情况下。外部 html 标记由 Markdown 生成。

此外,bleach 会转义所有 < 和 > 符号,但如果它们出现在代码片段中,它看起来像这样:

for (auto a = 0; i &lt; 10; ++i)

如果漂白剂不能做到这一点,你能建议另一个逃生者,它可以满足我的需要吗?

最佳答案

您想将

 的子标签列入白名单。从阅读文档中我可以推断,您必须一个接一个地定义要列入白名单的标签,或者使用可调用对象,每次遇到标签时都会调用可调用对象。



查看文档中名为:Callable Filters 的部分



您的问题的一个可能解决方案是在 clean bleach.clean 上传递一个函数,该函数将检查 clean 方法遇到的标签是否是代码 html 标签的子标签。您必须在那里解析 HTML,您可以将 HTML 解析器与 TreeBuilder 一起使用的 xml.eTree包裹



这是一个 example不同的答案。








关于python - 制作 Bleach 以允许代码标签,我们在Stack Overflow上找到一个类似的问题:

https://stackoverflow.com/questions/39192753/




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