【问题标题】:Twig escaping not working as expected树枝逃逸未按预期工作
【发布时间】:2014-08-27 20:01:58
【问题描述】:

我正在使用 Symfony 2 并且在一个树枝模板中我试图写一些像这样简单的东西:

{% set temp = '<&>' %}
{{ temp|e }}

所以我希望得到结果:'& lt;& amp;& gt;'但我的结果仍然是:''。其他树枝过滤器工作正常。难道我做错了什么? Symfony2默认不包含转义过滤器吗?

【问题讨论】:

  • 你用的是什么版本的树枝?
  • @BRad 一点也不。您发布的问题是关于如何不逃离琥珀。我的问题是我无法逃避工作。关于我的树枝版本很难说。我使用 Symfony 2.5,所以 Symfony 默认带有 twig。
  • 如果你想要&lt;&amp;&gt; 的unicode,那么你为什么要逃避它?如果你正在寻找 unicode,你不应该逃避它。除非我误解了这个问题。作为旁注作曲家将为您保存所有版本。
  • 1.在我的作曲家中,我的树枝扩展名是“~1.0” 2. 我的实际问题是我正在尝试做类似 Symfony 食谱中介绍的这个示例:symfony.com/doc/current/cookbook/form/…。因此,根据示例:对于 twig 模板中的此代码:{{ form_widget(form.tags.vars.prototype)|e }},在呈现的页面上,结果将如下所示:“<div><标签 class=“必需”> (...)”。但我得到的是这样的:'
    (...)'。

标签: symfony filter escaping twig


【解决方案1】:

Twig 根据 Symfony 中的文件扩展名确定转义策略。您可以尝试将文件重命名为*.html.twig,手动设置策略

{% set strategy = 'html' %}

或明确定义要使用的转义策略

{{ temp|e('html')

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 2020-01-14
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多