我在 Twig 中创建了一个过滤器,它在输出周围包装了一些 HTML。例如
{{ 'this is a "test"'|display }}
输出
<div id="container">
<div id="content">
this is a "test"
</div>
<div id="toolbar">
<a href="/edit.php">edit</a>
</div>
</div>
困境是,我希望后续过滤器仅应用于原始内容,而不是整个 html。例如
{{ 'this is a "test"'|display|upper|e }}
输出
<DIV ID="CONTAINER">
<DIV ID="CONTENT">
THIS IS A "TEST"
</DIV>
<DIV ID="TOOLBAR">
<A HREF="/EDIT.PHP">EDIT</A>
</DIV>
</DIV>
但你可以想象,我更喜欢这样的输出
<div id="container">
<div id="content">
THIS IS A "TEST"
</div>
<div id="toolbar">
<a href="/edit.php">edit</a>
</div>
</div>
将过滤器顺序更改为
{{ 'this is a "test"'|upper|e|display }}
将适用于上层过滤器,但不适用于逃生过滤器,因为它始终将自身置于过滤器队列的末尾。它也应该与 autoescape=true 一起使用。
阅读树枝文档,我找不到做我想做的事的标准方法。有人可能尝试过类似的东西吗?或者有人想解决这个问题?
提前致谢!