``u`` ===== The ``u`` filter wraps a text in a Unicode object (a `Symfony UnicodeString instance `_) that exposes methods to "manipulate" the string. Let's see some common use cases. Wrapping a text to a given number of characters: .. code-block:: twig {{ 'Symfony String + Twig = <3'|u.wordwrap(5) }} Symfony String + Twig = <3 Truncating a string: .. code-block:: twig {{ 'Lorem ipsum'|u.truncate(8) }} Lorem ip {{ 'Lorem ipsum'|u.truncate(8, '...') }} Lorem... The ``truncate`` method also accepts a third argument to preserve whole words: .. code-block:: twig {{ 'Lorem ipsum dolor'|u.truncate(10, '...', false) }} Lorem ipsum... Converting a string to *snake* case or *camelCase*: .. code-block:: twig {{ 'SymfonyStringWithTwig'|u.snake }} symfony_string_with_twig {{ 'symfony_string with twig'|u.camel.title }} SymfonyStringWithTwig You can also chain methods: .. code-block:: twig {{ 'Symfony String + Twig = <3'|u.wordwrap(5).upper }} SYMFONY STRING + TWIG = <3 For large strings manipulation, use the ``apply`` tag: .. code-block:: twig {% apply u.wordwrap(5) %} Some large amount of text... {% endapply %} .. note:: The ``u`` filter is part of the ``StringExtension`` which is not installed by default. Install it first: .. code-block:: bash $ composer require twig/string-extra Then, on Symfony projects, install the ``twig/extra-bundle``: .. code-block:: bash $ composer require twig/extra-bundle Otherwise, add the extension explicitly on the Twig environment:: use Twig\Extra\String\StringExtension; $twig = new \Twig\Environment(...); $twig->addExtension(new StringExtension());