在python标记中禁用反标记内的html转义

在python标记中禁用反标记内的html转义,python,markdown,Python,Markdown,我注意到,python标记总是在backticks中转义HTML实体,即使safe=False: In [1]: import markdown In [2]: markdown.markdown("&amp;") Out[2]: u'<p>&amp;</p>' In [3]: markdown.markdown("*&amp;*") Out[3]: u'<p><em>&amp;</em></p

我注意到,python标记总是在backticks中转义HTML实体,即使safe=False:

In [1]: import markdown

In [2]: markdown.markdown("&amp;")
Out[2]: u'<p>&amp;</p>'

In [3]: markdown.markdown("*&amp;*")
Out[3]: u'<p><em>&amp;</em></p>'

In [4]: markdown.markdown("`&amp;`")
Out[4]: u'<p><code>&amp;amp;</code></p>'
它是一个bug还是一个特性;有没有办法保持HTML实体不变?

Backticks,这意味着必须转义HTML实体,以便代码正确显示,因此这不是错误。虽然我不知道您为什么要回避这个问题,而且可能有更好的方法来实现您的目标,
python markdown
忽略HTML标记中的文本,因此将HTML实体包含在donothing HTML中可能适合您的目的

>>> import markdown
>>> markdown.markdown("<div>`&amp;`</div>")
u'<div>`&amp;`</div>'
可能比您最初想要的要复杂一点,但我认为这可能是最简单的解决方案,除了从根本上修改
python markdown

Backticks之外,这意味着必须转义HTML实体,以便代码正确显示,因此这不是一个bug。虽然我不知道您为什么要回避这个问题,而且可能有更好的方法来实现您的目标,
python markdown
忽略HTML标记中的文本,因此将HTML实体包含在donothing HTML中可能适合您的目的

>>> import markdown
>>> markdown.markdown("<div>`&amp;`</div>")
u'<div>`&amp;`</div>'

可能比您最初想要的要复杂一点,但我认为这可能是最简单的解决方案,除了从根本上修改
python标记

它对我不起作用,因为我仍然需要将backticks更改为“code”块。我用一个自定义的降价扩展解决了这个问题,它可以恢复转义实体。我认为,更好的方法是在这种情况下根本不使用反勾号,但我已经用这种方式标记了太多的文本。@pomel,已经6年多了,但也许你还记得扩展名是什么吗?它对我不起作用,因为我仍然需要将反勾号更改为“代码”块。我用一个自定义的降价扩展解决了这个问题,它可以恢复转义实体。我认为,更好的方法是在这种情况下根本不使用反勾号,但我已经用这种方式标记了太多的文本。@pomel,已经6年多了,但也许你还记得扩展名是什么吗?