symfony 2 twig limit the length of the text and put three dots

前端 未结 13 2276
太阳男子
太阳男子 2021-01-30 00:36

How can I limit the length of the text, e.g., 50, and put three dots in the display?

{% if myentity.text|length > 50 %}

{% block td_text %} {{ myentity.text}         


        
13条回答
  •  感动是毒
    2021-01-30 01:04

    An even more elegant solution is to limit the text by the number of words (and not by number of characters). This prevents ugly tear throughs (e.g. 'Stackov...').

    Here's an example where I shorten only text blocks longer than 10 words:

    {% set text = myentity.text |split(' ') %} 
    
    {% if text|length > 10 %} 
        {% for t in text|slice(0, 10) %}
            {{ t }} 
        {% endfor %}
        ...
    {% else %}
        {{ text|join(' ') }}
    {% endif %}
    

提交回复
热议问题