在树枝中使用逃生和生?

Posted

技术标签:

【中文标题】在树枝中使用逃生和生?【英文标题】:Using escape and raw in twig? 【发布时间】:2013-07-09 19:01:00 【问题描述】:

我有一篇包含智能引号的文章,所以我需要转义文章内容。但是,如果我使用

      article.body| e

要转义文章,html 不会显示为已格式化。如果我使用

      article.body| raw

文章正确显示为 html,但内容中的智能引号未转义。

有人知道如何在正确显示 html 的同时转义内容吗?

【问题讨论】:

检查这个解决方案作为创建树枝过滤器***.com/a/8355239/6056191 【参考方案1】:

您可以为escape filter 指定策略。

'html' 在这里对你不起作用,因为它在内部使用 php 的 htmlspecialchars

'html'是使用 var|e 时的默认策略

您需要为您的用例创建自定义转义策略。

...但如果只有引号需要替换,您可以使用 Doctrine 的 Lifecyle Events 在 PrePersistPreUpdate 上执行简单的 preg_replace

【讨论】:

它仍然只显示为带有所有标签的未格式化的html,例如输出:/ 哦,对不起,我误读了这个问题。您需要为您的用例创建自定义转义策略。【参考方案2】:

为了显示我们可以像这样使用的特殊字符 '

【讨论】:

以上是关于在树枝中使用逃生和生?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SonataMediaBundle 在树枝中获取图像路径?

在c语言中 分别从变量的作用域和生存期来分析变量各都有哪些种类

逃生Python中通

使用 Symfony 2 本地化树枝中的日期

如何在 nodejs 中侦听和生成多个子进程

获取树枝模板文件中使用的所有变量[重复]