在 Twig 中跳过 html 行

Skip html line in Twig

我以前没有使用过 Twig,但现在出现了一个问题,我需要按原样跳过 Twig 中的整行

我的 html 是

<h4 class="title">{{ 'publish' | translate }}</h4>

在我的索引中

require_once('lib/Twig/Autoloader.php');
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('views');

$twig = new Twig_Environment($loader, array(
    //'cache' => 'cache',
    'auto_reload' => true
));

当我渲染 html 时,由于翻译出现了 Twig 错误。我需要建议如何告诉 twig 跳过这些行,因为它不会更改我的 html 中的任何符号(可能带有标签 "translate")

添加假过滤器translate

$twig->addFilter(new Twig_SimpleFilter('translate', function($v) {return $v;}));

一般来说,如果你想在来自 symfony 控制器或 php 的 twig 中保留 html 标签,你可以使用像 raw 或 escape 这样的 twig 过滤器:

<h4 class="title">{{ variable|raw }}</h4><h4 class="title">{{ variable|escape }}</h4>.

您还有自动转义标签

{% autoescape 'html' %}

您输入的代码包含 html {% endautoescape %}

确保这些过滤器或标签会引发安全问题。