【问题标题】:twig template - how to render html inside twig template树枝模板 - 如何在树枝模板中呈现 html
【发布时间】:2013-08-07 00:54:06
【问题描述】:

我只是想让我的分页脚本通过树枝工作。当我将 php 变量的结果作为 twig 变量 {{pagination}} 发送到 twig 时,它会显示原始 html 代码:

Page <strong>3</strong> of 4&nbsp; &nbsp; &nbsp; &nbsp; <a href="/search.php?pn=2"> Back</a> 
<span class="paginationNumbers">&nbsp; <a href="/search.php?pn=2">2</a> &nbsp;&nbsp; 
<span class="pagNumActive">3</span> &nbsp;&nbsp; <a href="/search.php?pn=4">4</a> &nbsp;
</span>&nbsp; <a href="/search.php?pn=4"> Next</a> 

我现在如何渲染这些 html 标签?

【问题讨论】:

    标签: html twig render


    【解决方案1】:

    我在你之间用过这个

    {% autoescape false %} 
    {{ body }}
    {% endautoescape %}
    

    它对我有用

    【讨论】:

      【解决方案2】:

      使用{{ pagination | raw }} 作为您的输出。

      来自文档:

      原始过滤器将值标记为“安全”,这意味着在 启用自动转义的环境此变量不会 如果 raw 是应用到它的最后一个过滤器,则转义。

      【讨论】:

      • 是的,我在搜索可能的解决方案时偶然发现了这一点,由于某种原因,无论我使用与否,它都不适用于原始过滤器。
      • 对我来说就像一个魅力。例如。要用 NBSP 替换字符串中的所有空格,我必须使用stringVariable|replace({' ': '&amp;nbsp;'})|raw。顺便说一句,replace(' ', '&amp;nbsp;')(使用两个参数,而不是单个字典)对我也不起作用。
      • 我需要避免自动转义而不修改模板只是基于这样的内容
      • 我需要避免自动转义而不修改模板只是基于这样的变量 x="{%autoescape false%}abc{%endautoescape%}" 显然不起作用,但我不能修改模板是一个宏来打印一个简单的表格我不知道在模板渲染之前不应该转义哪些内容应该有像render(x)这样的函数
      【解决方案3】:

      也许自动转义已打开。 您可以查看autoescape parameters 的树枝。

      您可以尝试将您的代码封装在{% autoescape false %}{% endautoescape %} 之间。

      【讨论】:

      • 虽然这行得通,但我还是决定将@nostrzak 的解决方案与| raw 过滤器一起使用,因为它更精细,可以应用于单个变量的使用,而其他所有内容都完好无损并安全逃脱。
      • 今天,仍然有效❤️?
      猜你喜欢
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 2019-05-07
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多