Symfony3 + Twig:用数字加入数组

时间:2017-05-05 14:41:08

标签: symfony twig twig-filter

我正在尝试显示数组中的所有元素并使用换行符分隔它们,但我无法使其工作。

以下是我的尝试:

{{ user.roles | join('<br/>') }}
{{ user.roles | join('<br/>' | raw) }}
{{ user.roles | join('\n' | nl2br | raw) }}

每次我得到类似的东西:

  

ROLE_PARENT&LT峰; br /&GT; ROLE_ADMIN&LT峰; br /&GT; ROLE_MANAGER&LT峰; br /&GT; ROLE_USER

如何告诉twig将<br/>呈现为html?

我可以循环遍历数组,但这不是我第一次尝试渲染html标签,我想要一个明确的解决方案来解决这个问题。

3 个答案:

答案 0 :(得分:6)

对你的第三次尝试稍作修改也应该有所帮助。

{{ user.roles | join('\n')| nl2br  }}

答案 1 :(得分:4)

我发现错误,我没有在正确的位置应用过滤器,这有效:

{{ user.roles | join('<br/>') | raw }}

答案 2 :(得分:0)

循环怎么样?

https://twig.sensiolabs.org/doc/2.x/tags/for.html

{%- for role in user.roles -%}
    {{- role -}}<br>
{%- endfor -%}

注意:您可以使用-

管理空白

https://twig.sensiolabs.org/doc/2.x/templates.html#whitespace-control