如何确保关闭所有html标签?问题出现是因为我想为每篇文章创建一些摘录。例如,有人写了这样的文章:
Hi everyone, I'm just an article and I have few <strong>tags</strong> inside <em>of me</me>
如果我在“标签”之后剪切此消息,我会得到一个未关闭的标签。 在将Django保存到DB之前,如何检查所有用户的输入文本?
答案 0 :(得分:5)
在Django 1.7中,有一个名为truncatechars_html
的特定模板过滤器:
与truncatechars类似,只是它知道HTML标签。任何 在字符串中打开但未在之前关闭的标记 截断后立即关闭截断点。
对于Django&lt; 1.7,您可以使用truncatewords_html
,也可以根据1.7(source)中实现的自定义过滤器制作自定义过滤器,或者使用此snippet(尚未测试过)它)。另请参阅代码段博客帖子:Safe truncation of HTML。
答案 1 :(得分:1)
对于Django 1.6,有truncatewords_html可用,无需创建自定义过滤器。 https://docs.djangoproject.com/en/1.6/ref/templates/builtins/#truncatewords-html