我编写了自己的Twig函数输出HTML,所以我将is_safe
设置为html
,以便Twig知道不要逃避输出我的函数。
但是,我的函数需要参数。其中一个参数直接放在输出中。我想在输出它之前逃避这个。所以看起来我只需要能够在输出之前手动转义选项值。
我无法找到如何做到这一点。有人知道吗?
答案 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);
}