2017-05-05 38 views
2

我試圖顯示數組中的所有元素並用換行符分隔它們,但我無法使它工作。Symfony3 + Twig:加入數組<br/>

這裏是我的嘗試:

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

每次我得到的東西,如:

ROLE_PARENT < BR /> ROLE_ADMIN < BR /> ROLE_MANAGER < BR /> ROLE_USER

我如何告訴樹枝將<br/>作爲html?

我可以遍歷數組,但它不是我第一次嘗試渲染html標籤,我想要一個明確的解決方案來解決這個問題。

回答

6

少許修改你的第三次嘗試應該做的伎倆也。

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

是的,這個作品 – Robouste

+1

是'| |原始'必要?不是''\ n'| raw'先評估然後'join()'的結果呢? – kero

3

我發現錯誤,我不是在正確的地方應用的過濾器,其工作原理:

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

問題管理空格用,而不是另外一個這樣的解決方案:如果您在原來的數組的價值觀HTML標籤,這些也會被渲染,因爲應用了'raw'。 (在這種情況下可能不重要,仍然認爲這很重要) – kero