Rechercher une sous-chaîne dans la chaîne dans TWIG


132

Je veux trouver une sous-chaîne de la chaîne ou vérifier si une telle sous-chaîne n'existe pas à l'aide de Twig. Sur les mots, j'ai besoin d'analogue de «strstr» ou «strpos» en php. J'ai cherché sur Google et recherché ce problème dans stackoverflow mais rien n'a été trouvé. Est-ce que quelqu'un sait comment résoudre ce problème?


2
Rien trouvé, vraiment? Quand je google Find substring in the string in TWIG, je reçois un premier coup qui a l'air vraiment bien. Je ne pense pas que ça va aller mieux que ça.
Pekka

Veuillez suivre les conseils de demande dont vous aviez besoin pour confirmer avant de publier une question. Gardez à l'esprit que vous seul voulez quelque chose et que vous vous demandez comment il est programmé ne peut pas être considéré comme une question de programmation en soi.
hakre

Pekka, merci pour votre lien mais ce n'est pas exactement ce que j'ai trouvé. strstr et strpos permettent de trouver les positions de la sous-chaîne dans la chaîne ou de retourner false s'il n'y a pas de telle sous-chaîne. Ce n'est pas similaire avec les strpos.
user1440167

1
Si vous ne trouvez pas ce que vous voulez, vous pouvez toujours le faire vous-même .
Maerlyn

Réponses:


344

Je viens de chercher les documents et j'ai trouvé ceci :

Opérateur de confinement: l' opérateur in effectue un test de confinement. Il renvoie true si l'opérande de gauche est contenu dans la droite:

{# returns true #}

{{ 1 in [1, 2, 3] }}

{{ 'cd' in 'abcde' }}

1
Est-il possible de l'utiliser dans une instruction if?
TeaCupApp

3
Oui, en effet, vous pouvez!
Flo Schild le

4
Génial :) Je l'ai utilisé pour déterminer l'itinéraire actuel: <li class = "{% if 'gew_team_default_' in app.request.get ('_ route')%} active {% endif%}">
Tobias Oberrauch

@TobiasOberrauch moi aussi; vous pouvez également utiliser app.request.pathinfocomme comparaison :)
neemzy

7
Juste pour être complet, la syntaxe pour tester si une sous-chaîne n'est pas présente est: {% if 'aiguille' pas dans la botte de foin%}
geekbrit
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.