我正在使用漂白剂来清理用户输入。但我使用Markdown,这意味着我需要blockquote>没有被逃脱的符号经过GT;所以我可以将它传递给misaka进行渲染。
文档说默认情况下它会转义html标记,但没有说明如何关闭>符号。我仍然希望它能够逃脱实际的html标签。
http://bleach.readthedocs.org/en/latest/clean.html
在维护使用Markdown的能力的同时保护输入的任何其他想法将不胜感激。
答案 0 :(得分:2)
Bleach是一种HTML清洁剂,而不是Markdown清洁剂。正如here所述,您应首先通过Markdown运行用户输入,然后通过Bleach运行。像这样:
sanitized_html = bleach.clean(markdown.markdown(some_text))
有关详细信息,请参阅我之前引用的comment。
答案 1 :(得分:0)
您是否需要剥离所有标签,但请保留>它是什么?
第2步的简单方法:
output.replace('& gt;','>')
更专业
import HTMLParser
h = HTMLParser.HTMLParser()
s = h.unescape(sanitized user input)