I try to send a html code in symfony2 like this :
public function testAction()
{
$html = '<input type="text">'
return $this->render('TestBundle:Default:index.htlm.twig',array(
'html' => $html,
));
}
When I use html variable in the page index.html.twig like this : {{ html }}
the result is
<input type="text">
But I do not want this result. the result that I want is that the page index.html.twig display me the input (the text area).
An answer from the doc : http://twig.sensiolabs.org/doc/api.html#escaper-extension
The escaper extension adds automatic output escaping to Twig. It defines a tag, autoescape, and a filter, raw.
When creating the escaper extension, you can switch on or off the global output escaping strategy:
$escaper = new Twig_Extension_Escaper('html');
$twig->addExtension($escaper);
If set to html, all variables in templates are escaped (using the html escaping strategy), except those using the raw filter:
{{ article.to_html|raw }}
You can also change the escaping mode locally by using the autoescape tag (see the autoescape doc for the syntax used before Twig 1.8):
{% autoescape 'html' %}
{{ var }}
{{ var|raw }} {# var won't be escaped #}
{{ var|escape }} {# var won't be double-escaped #}
{% endautoescape %}