用Twig将字符串分解为数组?

Pol*_*ino 7 symfony twig

是否有基于分隔符将字符串拆分为块的功能?join过滤器的反面.

我的意思是explode在PHP中.我需要检查class参数是否包含给定的字符串:

{% macro nav_item(route, label, class, tooltip, placement) %}
{% spaceless %}
    {% if 'icon-white' in class|explode(' ') %}
    {% edif %}
{% endspaceless %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)

mar*_*nqt 17

从Twig 1.10.3开始,有分割 滤波器.

{% set classes = class|split(' ') %}
Run Code Online (Sandbox Code Playgroud)


Mol*_*Man 0

1.10.3之前的twig的解决方案

AFAIK,twig 中没有这样的过滤器。但是,您可以in按如下方式使用运算符:

{% spaceless %}
    {% set test_class = ' ' ~ class ~ ' ' %}
    {% if ' icon-white ' in test_class %}
    {% endif %}
{% endspaceless %}
Run Code Online (Sandbox Code Playgroud)

因此,例如,如果您的类看起来像这样'some-class icon-white icon-white-2',那么 test_class 将获取该类的值' some-class icon-white icon-white-2 'in返回true该类。然而,它将按预期false返回' some-class icon-white-2 '