TWIG'de dizede alt dizeyi bulun


132

Twig kullanarak dizenin alt dizesini bulmak veya böyle bir alt dize olup olmadığını kontrol etmek istiyorum. Kelimelerde, php'de 'strstr' veya 'strpos' analoguna ihtiyacım var. Googled ve bu sorunu stackoverflow'da aradım ancak hiçbir şey bulunamadı. Birisi bu sorunu nasıl çözeceğini biliyor mu?


2
Gerçekten hiçbir şey bulunamadı? Google'da gerçekten iyi görünen Find substring in the string in TWIGbir ilk hit alıyorum . Bundan daha iyi olacağını sanmıyorum.
Pekka

Lütfen herhangi bir soru göndermeden önce onaylamanız gereken sorma tavsiyesine uyun . Unutmayın ki sadece siz bir şeyi istiyorsunuz ve kendinize nasıl programlandığını sormanız, başlı başına bir programlama sorusu olarak nitelendirilmiyor.
hakre

Pekka, bağlantın için teşekkürler ama bulduğum şey tam olarak bu değil. strstr ve strpos, dizedeki alt dizenin konumlarını bulmaya veya böyle bir alt dize yoksa yanlış döndürmeye izin verir. Strpos ile benzer değildir.
user1440167

1
İstediğini bulamazsan, her zaman kendi başına yapabilirsin .
Maerlyn

Yanıtlar:


345

Hemen aradık docs , ve bulunan bu :

Engelleme Operatör: in operatör gerçekleştirir kapsama testi. Sol işlenen sağda yer alıyorsa doğru döndürür:

{# returns true #}

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

{{ 'cd' in 'abcde' }}

1
Bunu bir if ifadesinin içinde kullanmak mümkün mü?
TeaCupApp

3
Evet, gerçekten yapabilirsin!
Flo Schild

4
Harika :) Bunu geçerli rotayı bulmak için kullandım: <li class = "{% if 'gew_team_default_' in app.request.get ('_ route')%} active {% endif%}">
Tobias Oberrauch

@TobiasOberrauch ben de öyle yaptım; app.request.pathinfokarşılaştırma olarak da kullanabilirsiniz :)
neemzy

7
Tamlık için, bir alt dizenin mevcut olup olmadığını test etmek için sözdizimi şudur: {% if 'needle' not in haystack%}
geekbrit
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.