截断html内容上的树枝

时间:2018-10-16 15:28:53

标签: symfony twig truncate

我想截断一个包含html标记的长字符串。

从我的控制器php开始。

content="<div>
<h1>my title</h1>
<p>para 1 ...</p>
</div>";

我想截断这个,所以我在树枝上做了这个:

{{ content|raw|truncate(15) }}

但是html损坏了,请参见波纹管:

<div>
<h1>my ti...

我想保留标签的结尾,就像这样:

<div>
<h1>my titl...</h1>
</div>

有人知道吗?

2 个答案:

答案 0 :(得分:2)

您可以使用Twig Truncation Extension。如您在doc中所读:

{% set html %}
    <h1>Test heading!</h1>
    <ul>
        <li>Hello world</li>
        <li>Foo bar</li>
        <li>Lorem Ipsum</li>
    </ul>
{% endset html %}
{{ html|truncate_letters(20) }}

将输出:

<h1>Test heading!</h1>
<ul>
    <li>Hello wo</li>
</ul>

希望获得帮助

答案 1 :(得分:1)

您可以使用text-truncate类的bootstrap类来解决此问题。

<h1 class="text-truncate">my title</h1>

如果您不想使用引导程序,则可以直接在css中使用属性text-overflow:ellipsis进行引导,就像bootstrap中那样。

Here is an example in CSS。

希望它能对您有所帮助。