How can I display a string that contains HTML tags in twig template?
My PHP variable contains this html and text:
$word = '<b> a word </b>';
When I do this in my twig template:
{{ word }}
I get this:
<b> a word <b>
I want this instead:
<b> a word </b>
Is it possible to get this easily?
Use raw keyword, http://twig.sensiolabs.org/doc/api.html#escaper-extension
{{ word | raw }}
if you don't need variable, you can define text in
translations/messages.en.yaml :
CiteExampleHtmlCode: "<b> my static text </b>"
then use it with twig:
templates/about/index.html.twig
… {{ 'CiteExampleHtmlCode' }}
or if you need multilangages like me:
… {{ 'CiteExampleHtmlCode' | trans }}
Let's have a look of https://symfony.com/doc/current/translation.html for more information about translations use.
You can also use:
{{ word|striptags('<b>')|raw }}
so that only <b>
tag will be allowed.
{{ word|striptags('<b>,<a>,<pre>')|raw }}
if you want to allow multiple tags
Source: Stackoverflow.com