我剛剛在我的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