Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to escape Twig delimiters in a Twig template?

Tags:

twig

Twig uses the {{ }}, {% %}, {# #} delimiters.

But how can I display {{ }} in a Twig template? I'm not talking about HTML escaping.

I ask the question as I want to include a mustache template in my Twig template so that I will fill with data coming from an AJAX call.

like image 344
Michaël Perrin Avatar asked Sep 19 '12 14:09

Michaël Perrin


2 Answers

The easiest way is to output the variable delimiter ({{) by using a variable expression:

{{ '{{' }} 

Alternatives (used when you have to escape too much) are raw (verbatim since 1.12) blocks:

{% raw %}     <ul>     {% for item in seq %}         <li>{{ item }}</li>     {% endfor %}     </ul> {% endraw %} 

Actually, it's quite well documented.

like image 135
raina77ow Avatar answered Sep 28 '22 02:09

raina77ow


The Twig documentation gives two suggestions. The first is simply to output a string:

{{ '{{' }} 

Otherwise, if you want to output a long section (it sounds like you do) you can use the raw tag:

{% raw %}     your mustache content here {% endraw %} 
like image 42
lonesomeday Avatar answered Sep 28 '22 01:09

lonesomeday