Twig 小枝替换不工作

Twig 小枝替换不工作,twig,Twig,我有以下细枝代码: {% set button_class = button_class_off|default('toggle toggle-thumbs-down') %} {% set button_toggle_swap = button_toggle_swap|default(['toggle-thumbs-down', 'toggle-thumbs-up']) %} {% if value == '1' %} {% dump(name) %} {% for sw

我有以下细枝代码:

{% set button_class = button_class_off|default('toggle toggle-thumbs-down') %}

{% set button_toggle_swap = button_toggle_swap|default(['toggle-thumbs-down', 'toggle-thumbs-up']) %}

{% if value == '1' %}
    {% dump(name) %}

    {% for swap in button_toggle_swap %}
        {% if swap in button_class %}
            {% dump(swap) %}
            {% dump(button_class) %}
            {% set button_class = button_class|replace({swap: ""})|trim %}
            {% dump(button_class) %}
        {% else %}
            {% set button_class = button_class ~ ' ' ~ swap %}
        {% endif %}
    {% endfor %}
{% endif %}
转储显示:

"hifi"

"toggle-thumbs-down"

"toggle toggle-thumbs-down"

"toggle toggle-thumbs-down"
我不知道为什么替换不起作用。我试过这个有没有修剪。结果是将忽略替换为“”的交换


知道我做错了什么吗

好的。文档中似乎缺少一些详细信息。如果使用变量(而不是绝对字符串),则必须将变量包装在括号()中

此代码适用于:

{% set button_class = button_class_off|default('toggle toggle-thumbs-down') %}

{% set button_toggle_swap = button_toggle_swap|default(['toggle-thumbs-down', 'toggle-thumbs-up']) %}

{% if value == '1' %}
    {% for swap in button_toggle_swap %}
        {% if swap in button_class %}
            {% set button_class = button_class|replace({(swap): ""})|trim %}
        {% else %}
            {% set button_class = button_class ~ ' ' ~ swap %}
        {% endif %}
    {% endfor %}
{% endif %}

多亏了这个答案

哦,我的上帝,谢谢你,这让我发疯了