Twig不正确的截断html

Eug*_*ene 0 html truncate twig

我将数据库中的新闻文本保存为HTML:

<p>Hello, i'm a text!</p><p> More text</p>
Run Code Online (Sandbox Code Playgroud)

当我像这样渲染文字时

{{ post.body | raw }}
Run Code Online (Sandbox Code Playgroud)

一切顺利,但我需要将文本截断为20-30个符号,以便在主页上进行预览.所以,我试过了

{{ p.body[:20] ~ '..' }} 
Run Code Online (Sandbox Code Playgroud)

然后文字看起来像

<p>Hello, i'm..
Run Code Online (Sandbox Code Playgroud)

如何隐藏比HTML标签?"| raw"过滤器在截断时也不起作用.请帮忙

Pet*_*ter 6

方便的是,Twig具有内置函数,用于剥离HTML标记.

以下将输出"你好,我是一个文本......"

{% set some_html = "<p>Hello, i'm a text!</p><p> More text</p>" %}
{{ some_html[:20]|striptags ~ ' ...' }}
Run Code Online (Sandbox Code Playgroud)