如何确保所有的HTML标签都已关闭?这个问题是因为我想要为每篇文章创建一些摘录而引起的。例如,有人像这样写了一篇文章:
Hi everyone, I'm just an article and I have few <strong>tags</strong> inside <em>of me</me>
如果我在“tags”后面截断此消息,就会出现未关闭的标签。 如何在保存用户输入到数据库之前使用Django检查所有用户输入的文本?
如何确保所有的HTML标签都已关闭?这个问题是因为我想要为每篇文章创建一些摘录而引起的。例如,有人像这样写了一篇文章:
Hi everyone, I'm just an article and I have few <strong>tags</strong> inside <em>of me</me>
如果我在“tags”后面截断此消息,就会出现未关闭的标签。 如何在保存用户输入到数据库之前使用Django检查所有用户输入的文本?
truncatechars_html
:类似于truncatechars,但它可以识别HTML标签。任何在字符串中打开但未在截断点之前关闭的标签将立即在截断后关闭。另请参见truncatewords_html
。truncatewords_html
,或者基于1.7中实现的自定义过滤器(source),或使用此snippet(未测试)。还请参阅与代码片段相关的博客文章:安全截断HTML。