Знайдіть підрядку в рядку в TWIG


132

Я хочу знайти підрядку рядка або перевірити, чи немає такої підрядки за допомогою Twig. Слова, мені потрібен аналог 'strstr' або 'strpos' у php. Я гуглив і шукав цю проблему в stackoverflow, але нічого не знайдено. Хтось знає, як вирішити цю проблему?


2
Нічого не знайдено, насправді? Коли я google Find substring in the string in TWIG, я отримую перший удар, який виглядає дійсно добре. Я не думаю, що це стане кращим за це.
Пекка

Будь ласка, дотримуйтесь поради щодо запитання, яку потрібно підтвердити, перш ніж публікувати будь-яке запитання. Майте на увазі, що тільки ви чогось хочете, і ви запитуєте себе, як це запрограмовано, не кваліфікується як питання програмування.
хакре

Пекка, дякую за ваше посилання, але це не зовсім те, що я знайшов. strstr і strpos дозволяють знаходити позиції підрядки в рядку або повертати помилкові, якщо таких підрядків немає. Він не схожий на strpos.
користувач1440167

1
Якщо ви не знайдете те, що хочете, завжди можете зробити це самостійно .
Maerlyn

Відповіді:


344

Я просто шукав документи і знайшов це :

Оператор стримування: Оператор in виконує перевірку обмеження . Він повертає істину, якщо лівий операнд міститься праворуч:

{# returns true #}

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

{{ 'cd' in 'abcde' }}

1
Чи можливо використовувати це всередині оператора if?
TeaCupApp

3
Так, справді, можна!
Flo Schild

4
Чудово :) Я використовував його для визначення поточного маршруту: <li class = "{% if 'gew_team_default_' в app.request.get ('_ route')%} active {% endif%}">
Tobias Oberrauch,

@TobiasOberrauch так і зробив; ви також можете використовувати app.request.pathinfoдля порівняння :)
neemzy

7
Тільки для повноти синтаксис для перевірки відсутності підрядки є: {% якщо 'голка' не в стозі сіна%}
geekbrit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.