Twig:如何在自定义函数内手动转义?

时间:2015-01-22 19:40:42

标签: symfony twig

我编写了自己的Twig函数输出HTML,所以我将is_safe设置为html,以便Twig知道不要逃避输出我的函数。

但是,我的函数需要参数。其中一个参数直接放在输出中。我想在输出它之前逃避这个。所以看起来我只需要能够在输出之前手动转义选项值。

我无法找到如何做到这一点。有人知道吗?

1 个答案:

答案 0 :(得分:3)

诀窍是存储树枝环境,然后传递给twig_escape_filter

class TournExtension extends \Twig_Extension
{
    protected $env;

    public function initRuntime(\Twig_Environment $env)
    {
        parent::initRuntime($env);
        $this->env = $env;
    }
    protected function escape($string)
    {
        return twig_escape_filter($this->env,$string);
    }