企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
``autoescape`` ============== 无论自动转义是否启用,你都可以使用``autoescape``标签,标注是否将模版的某一节进行转义: {# 以下语法在 Twig 1.8 以上可用 —— 查看下方关于之前版本的提示 #} {% autoescape %} 此处内容以HTML转义策略进行自动转义 {% endautoescape %} {% autoescape 'html' %} 此处内容以HTML转义策略进行自动转义 {% endautoescape %} {% autoescape 'js' %} 此处内容以JS转义策略进行自动转义 {% endautoescape %} {% autoescape false %} 此处的内容以原本的样子输出,不转义 {% endautoescape %} 提示: > 在Twig1.8前,语法有所不同 > ~~~ > {% autoescape true %} > 此处内容以HTML转义策略进行自动转义 > {% endautoescape %} > {% autoescape false %} > 此处的内容以原本的样子输出,不转义 > {% endautoescape %} > {% autoescape true js %} > 此处内容以JS转义策略进行自动转义 > {% endautoescape %} > ~~~ 如果自动转义已被弃用,那么除了明确标注为安全的值以外,所有东西都会默认地被转义。使用`raw`过滤器在模板中标注: {% autoescape %} {{ safe_value|raw }} {% endautoescape %} 函数返回的模板数据(比如`macro`和`parent`函数)总是会返回安全标签。 注意: > Twig足够智能,不会再次转义已由`escape`过滤器转义过的值。 注意: > Twig 不会转义静态表达式: > {% set hello = "<strong>Hello</strong>" %} > {{ hello }} > {{ "<strong>world</strong>" }} > 将会被渲染为 "`<strong>Hello</strong>` **world**". 注意: > 面向开发者 这一章介绍了更多关于何时、如何使用自动转义的信息。