Twig 小胡子和小树枝:不转义HTML

Twig 小胡子和小树枝:不转义HTML,twig,mustache,Twig,Mustache,我把树枝和胡子合在一起了。因为它们都使用相同的书签标签 {{ var }} 我换了胡子标签,像这样 Mustache.parse(template, ['${', '}']); 所以我把这个书签用在小胡子上 ${ var } 没有冲突。 当我需要告诉Mustach不要逃避HTML时,问题就出现了。正如上面所说的,我将使用 {{{ do_not_escape_this_var }}} 但这会导致与Twig的冲突!而且似乎没有办法定制它 我知道我可以覆盖Twig的书签,但这对使用Twig默认

我把树枝和胡子合在一起了。因为它们都使用相同的书签标签

{{ var }}
我换了胡子标签,像这样

Mustache.parse(template, ['${', '}']);
所以我把这个书签用在小胡子上

${ var }
没有冲突。 当我需要告诉Mustach不要逃避HTML时,问题就出现了。正如上面所说的,我将使用

{{{ do_not_escape_this_var }}}
但这会导致与Twig的冲突!而且似乎没有办法定制它

我知道我可以覆盖Twig的书签,但这对使用Twig默认标记的前端团队来说是不好的

有什么解决办法吗?谢谢

就像上面说的,代码可以这样转义:

{{ '{{{ do_not_escape_this_var }}}' }}
对于较大的代码块,可以使用来防止Twig将胡子代码解析为Twig代码:

{% verbatim %}
    {{{ do_not_escape_this_var }}}
{% endverbatim %}
使用逐字翻译,您还可以避免使用默认的Mustache标记解析Mustache代码块:

{% verbatim %}
    <h1>Hello {{ name }}!</h1>
    <p>How are you {{ today }}?</p>
    {{! This is just Mustache, not Twig }}
{% endverbatim %}
{%verbatim%}
你好{{name}}!
你今天好吗

{{!这只是胡子,不是树枝} {%endverbatim%}
当然,您不能在
{%verbatim%}
{%endverbatim%}
之间使用细枝。我不认为这是一个问题,因为混合使用胡须(带有默认标记)和细枝代码会非常混乱。

可能会重复