在Symfony控制器中呈现原始HTML

时间:2013-09-23 19:21:01

标签: symfony twig

我想将模板渲染到symfony控制器中的字符串,并避免转义它。 我不想在世界范围内逃避缠绕。 有点在模板本身中应用|raw过滤器,但是来自控制器。

我想像

$rendered_unescaped = $this->container->get('templating')
        ->render($templatehere, $paramshere, 
           array('autoescape'=>false));

顺便说一下,我一直在试着以前没有运气。

当我想在ajax json响应中添加一个html块并意识到我在周围得到了很多时,我需要这样做。

谢谢, 哈维尔

1 个答案:

答案 0 :(得分:1)

您可以使用autoescape代码

{
    "foo": {
        "html": "{% autoescape false %}<p>Yo, <span>{{ name }}</span>, I'm real happy for you, and Imma let you finish...</p>{% endautoescape %}"
    }
}

另外,我还没有对此进行测试,但您可以更改Twig模板的默认策略。

$this->container->get('templating')->getExtension('escaper')->setDefaultStrategy(false);