Réduire intelligemment une chaîne de texte HTML en langage Twig

Standard

Pour réduire intelligemment une chaîne de texte contenant du HTML en langage Twig, il est possible d’utiliser les filtres striptags, trim et truncate.

Attention car le filtre truncate n’est pas activé par défaut dans Symfony, vous risquez d’avoir l’erreur :

   
request.CRITICAL: Uncaught PHP Exception Twig_Error_Syntax: The filter "truncate" does not exist
   

Activer le filtre truncate

Dans le fichier config.yml de votre application app/config/config.yml activer le service de l’extension Text :

services:
    twig.extension.text:
       class: Twig_Extensions_Extension_Text
       tags:
           - { name: twig.extension }

Utiliser les filtres Twig pour réduire votre chaîne de texte

Dans votre template Twig, vous pouvez alors réduire votre chaîne intelligemment. Par exemple, vous pouvez réduire une chaîne de 155 caractères, en évitant de couper les mots en leur milieu et en finissant la chaîne par « … ».

{% set mystring = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi consectetur, leo id ultrices iaculis, orci dui congue mauris, ac pharetra nisi nunc sit amet leo. Maecenas finibus arcu velit, quis fermentum sapien ornare eget. Nunc venenatis ac dui vel viverra. <strong>In hac habitasse platea dictumst.</strong> Cras sed lacus eget tellus blandit pharetra in quis diam. Curabitur ac turpis vitae risus scelerisque ullamcorper non et ex. Fusce pulvinar molestie volutpat.</p>" %}
{{ my_string|striptags|trim|truncate(155, true, '...') }}

Le résultat vous donnera :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi consectetur, leo id ultrices iaculis, orci dui congue mauris, ac pharetra nisi nunc sit amet...

A vous de jouer !

La domotique est en marche

Standard

La domotique sera la grande tendance de l’année 2016 mais les usagers ne savent pas ce que c’est. 40% des personnes interrogées ne s’y intéressent vraiment pas et seulement 10% envisagent d’acheter des produits !

Alors que ce doit être une révolution ce n’est pas gagné !

A lire :