树枝中有任何 {addslashes} 函数吗?

elk*_*nas 2 php symfony twig

我在一个 symfony 应用程序中工作,我需要在 php 中使用 addlashes 函数之类的函数,但我在 twig 中找不到任何类似的想法?有没有办法做到这一点

Adn*_*mad 6

这是答案

如果您尝试在 HTML 代码中添加斜杠,请尝试

 {{ my_variable|e('html') }}
Run Code Online (Sandbox Code Playgroud)

如果您尝试在 JS 代码中添加斜杠,请尝试

 {{ my_variable|e('js') }}
Run Code Online (Sandbox Code Playgroud)

如果答案对您有用,请对答案进行投票。


cmt*_*cmt 5

您可以addslashes通过执行以下操作将 PHP 的函数注册为 Twig 过滤器:

$twig = new Twig_Environment($loader);
$twig->addFilter(new Twig_SimpleFilter('addslashes', 'addslashes'));
Run Code Online (Sandbox Code Playgroud)

然后在你的树枝模板中使用它: {{ var|addslashes }}

如果启用了自动转义,则您的过滤器将在调用后被转义。如果自动转义导致您出现问题,请查看下面的“自动转义”链接并了解如何禁用它。不用说——但是,如果您禁用自动转义,那么您有责任在输出数据之前对其进行清理。

资源:

  1. http://twig.sensiolabs.org/doc/advanced.html#automatic-escaping
  2. http://twig.sensiolabs.org/doc/advanced.html#filters