我刚刚在我的Django 1.10.4应用程序中安装了precise_bbcode 1.2.6。Django precise_bbcode没有正确解析[code]标签的内容?
当我提供的字符串:
>>> s = """
[code]
for i in var:
print(var[i])
[/code]
"""
输出仅仅是纯文本:
对于i在VAR: 打印(VAR [I])
然而如果我将[i]
更改为[i2]
,它可以正常工作,并按预期格式化文本。
我在猜测,exact_bbcode认为[i]
与斜体文本有关(即使它被[code]标签包围,[i]没有关联的结束标签)。这种行为也存在[b]
和可能的任何其他公认的标签
然后我试着设置选项render_embedded = False
,但我仍然得到相同的行为。
然后我试图使我自己的“代码”标签:
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
class PygmentsBBCodeTag(BBCodeTag):
name = 'code'
class Options:
strip = False
replace_links = False
render_embedded = False
transform_newlines = False
escape_html = False
def render(self, value, option=None, parent=None):
print(value)
return highlight(value, PythonLexer(), HtmlFormatter())
tag_pool.register_tag(PygmentsBBCodeTag)
,得到了相同的结果。
陌生人仍然在我的PygmentsBBCodeTag
类每当[i]
存在我注意到它从来没有被调用(因为值不打印)。
有没有什么办法告诉precise_bbcode将[code]
标签之间的内容纯粹看作是一个字符串,并忽略除了关闭[/code]
标签之外的任何内容?
感谢
你应该把它作为一个bug报告给开发者。 –
我看到作者是摩根奥贝尔 - https://github.com/ellmetha我应该联系他吗?还是有更好的地方? – Logic1