使漂白剂允许代码标签



我试图使用漂白剂来转义HTML标签。它工作得很好,除非我试图插入一个代码片段作为页面的内容。代码片段像这样插入:

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

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

此外,漂白剂可以逃避所有<和>符号,但如果它们出现在代码片段中,它看起来像这样:

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

如果漂白剂不能做到这一点,你能建议另一种逃避剂,可以做我需要的?

你想把

 and <代码>。从阅读文档中我可以推断,您必须一个接一个地定义您想要白名单的标记,或者使用每次遇到标记时都会调用可调用的可调用对象。

查看文档中名为:Callable Filters

的部分

一个可能的解决方案是在干净的漂白剂上传递一个函数。Clean方法将检查所遇到的标记是否为HTML标记的子代码。你需要在那里解析HTML,你可以使用HTML解析器和xml.eTree的TreeBuilder包

相关内容

  • 没有找到相关文章

最新更新