在TWIG中查找字符串中的子字符串

170

我希望用Twig查找字符串的子串或者检查是否没有这样的子串。换句话说,我需要类似于PHP中的 'strstr' 或者 'strpos' 的功能。

我在Google和stackoverflow上搜索了这个问题,但是什么都没有找到。有人知道如何解决这个问题吗?


2
真的什么都没有找到吗?当我在谷歌上搜索“在TWIG中查找字符串子串”时,我得到了一个第一条结果,看起来非常好。我认为不会有比这更好的了。 - Pekka
在发布任何问题之前,请遵循寻求建议并确认。请记住,仅当您想要某些东西并询问自己如何编程时,并不一定符合编程问题的标准。 - hakre
Pekka,感谢你的链接,但它并不完全是我找到的内容。strstr和strpos可以在字符串中查找子字符串的位置,如果没有这样的子字符串,则返回false。它与strpos不相似。 - user1440167
1
如果你找不到想要的东西,你总是可以自己动手做 - Maerlyn
1个回答

426

刚刚查找了文档,发现了这个

包含运算符: in 运算符执行包含测试。 如果左操作数包含在右操作数中,则返回 true:

{# returns true #}

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

{{ 'cd' in 'abcde' }}

3
能否在if语句中使用这个? - TeaCupApp
8
没问题,确实可以! - Flo Schild
7
好的 :) 我用它来确定当前路由:<li class="{% if 'gew_team_default_' in app.request.get('_route') %}active{% endif %}"> - Tobias Oberrauch
1
它是否受到斜杠或特殊字符的影响?我试图在“some-doma.in/some-link”中查找“/some-link”... - Vishal Kumar Sahu
17
为了完整起见,测试一个子字符串是否不存在的语法是:{% if 'needle' not in haystack %}。 - geekbrit
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接