HTML字面打印

时间:2014-01-11 02:40:18

标签: php html symfony twig

我在保存到会话flash变量的消息中遇到html标记问题。 我有下一个字符串:

const SAVE_SUCCESS_MSG = "El responsable <strong>%name%</strong> fue guardado correctamente.";

我使用str_replace替换“%name%”:

$replaced = str_replace('%name%', $tutor->__toString(), self::SAVE_SUCCESS_MSG);

值正确替换,但浏览器按字面显示标记。

我用Twig打印消息:

{% if app.session.flashbag.has('status') %}
    <div class="alert alert-{{ app.session.flashbag.get('status')[0] }}">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        {{ app.session.flashbag.get('message')[0] }}
    </div>
{% endif %}

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

默认情况下启用Symfony with Twig中的HTML转义。您可以使用raw过滤器解决此问题,如下所示:

{{ app.session.flashbag.get('message')[0]|raw }}

请参阅Symfony "Creating and using Templates"