Ser*_*nov 7 html python django django-templates django-template-filters
如何确保所有html标签都已关闭?问题出现是因为我想为每篇文章创建一些摘录.例如,有人写了这样的文章:
Hi everyone, I'm just an article and I have few <strong>tags</strong> inside <em>of me</me>
Run Code Online (Sandbox Code Playgroud)
如果我在"标签"之后剪切此消息,我会得到一个未封闭的标签.在将Django保存到数据库之前,如何检查所有用户的输入文本?
在Django 1.7中,有一个特定的模板过滤器,名为truncatechars_html:
与truncatechars类似,只是它知道HTML标记.字符串中打开但在截断点之前未关闭的任何标记在截断后立即关闭.
对于Django <1.7,您可以使用truncatewords_html或基于1.7(源代码)中实现的自定义过滤器,或使用此代码段(尚未测试).另请参阅代码段博客文章:安全截断HTML.