Art*_*m L 39
实际上,您可以通过以下方式使用本机PHP函数strip_tags:
{{ var|striptags('<br>')|raw }}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下代码允许多个标记:
{{ var|striptags('<br><p>')|raw }}
Run Code Online (Sandbox Code Playgroud)
最初我认为应该可以编写自定义转义策略,这样你就可以这样做:
{{ var|escape('html-custom') }}
Run Code Online (Sandbox Code Playgroud)
不幸的是事实并非如此。唯一可用的策略是 html 和 js。它们被硬编码在类文件twig_escape_filter()中定义的函数中Twig_Extension_Core。
看来您唯一的选择是使用新过滤器编写自定义 estension:
{{ var|raw|customescape }}
Run Code Online (Sandbox Code Playgroud)
以下是自定义 Twig 扩展的示例以及如何在 Symfony 中注册它:Symfony2 Twig 扩展