0

我想将模板渲染为 symfony 控制器中的字符串并避免转义它。我不想阻止树枝在全球范围内逃逸。有点|raw在模板本身中应用过滤器,但来自控制器。

我想像

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

顺便说一句,我一厢情愿地尝试了以前的方法,但确实没有运气。

当我想将 html 块添加到 ajax json 响应并意识到我到处都是 htmlentities 时,这需要出现。

谢谢,哈维尔

4

1 回答 1

1

You could use the autoescape tag

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

Also, I haven't tested this, but you could change the default strategy of the Twig templating.

$this->container->get('templating')->getExtension('escaper')->setDefaultStrategy(false);
于 2013-09-23T19:34:33.273 回答