在Symfony控制器中呈现原始HTML

在Symfony控制器中呈现原始HTML,symfony,twig,Symfony,Twig,我希望在symfony控制器中将模板呈现为字符串,并避免转义它。 我不想解散小树枝。 在模板本身中应用|raw过滤器的一种,但来自控制器 我想象一下 $rendered_unescaped = $this->container->get('templating') ->render($templatehere, $paramshere, array('autoescape'=>false)); 顺便说一句,我已经一厢情愿地尝试了前

我希望在symfony控制器中将模板呈现为字符串,并避免转义它。 我不想解散小树枝。 在模板本身中应用
|raw
过滤器的一种,但来自控制器

我想象一下

$rendered_unescaped = $this->container->get('templating')
        ->render($templatehere, $paramshere, 
           array('autoescape'=>false));
顺便说一句,我已经一厢情愿地尝试了前一种方法,但确实没有运气

当我想在ajax json响应中添加html块,并意识到我得到了各种各样的htmlentities时,就需要这样做

谢谢,
javier

您可以使用
autoescape
标记

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

您确定吗,字符串是通过
twig
转义的,而不是通过
javascript
转义的。我认为您是对的。我已经做了进一步的测试,实际上并没有在赛姆弗尼那边逃脱。我想我应该删除这篇文章。离开这篇文章,在错误地使用jQuery.text()而不是.html()之后,我看到了同样的内容……谢谢Adam。在第一个选项中,您必须编辑模板(因此没有我想要的)。我已经测试了第二个。有一个错误,但如果您更改“twig”的“templating”,则已修复该错误。还是不适合我。。。因为我担心我可能找错了问题的位置。现在我认为是在js方面。对不起:-(.我的bad@javigzz没问题,不管怎么说,我在调查中确实学到了一些东西;)
$this->container->get('templating')->getExtension('escaper')->setDefaultStrategy(false);