Twig:如何在自定义函数中手动转义?
Twig: How can I manually escape inside a custom function?
我编写了自己的输出 HTML 的 Twig 函数,所以我将 is_safe
设置为 html
以便 Twig 知道不要转义输出我的函数。
但是,我的函数接受参数。其中一个参数直接放在输出中。我想在输出之前转义它。所以看来我只需要能够在输出之前手动转义选项值。
我找不到如何执行此操作。有人知道吗?
诀窍是存储树枝环境,然后传递给 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);
}
我编写了自己的输出 HTML 的 Twig 函数,所以我将 is_safe
设置为 html
以便 Twig 知道不要转义输出我的函数。
但是,我的函数接受参数。其中一个参数直接放在输出中。我想在输出之前转义它。所以看来我只需要能够在输出之前手动转义选项值。
我找不到如何执行此操作。有人知道吗?
诀窍是存储树枝环境,然后传递给 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);
}