在Twig中是否有办法在整个系统中用另一个字符串B替换已定义的字符串A?这意味着每当我输出任何内容(变量,静态内容,翻译......)时,都会有一个过程检查A的内容并用B替换它。
是否有某种倾听者或事件我可以参与其中?
我知道Twig中有replace
个过滤器,但我不想在每个实例中定义它们,但请确保它将在任何地方被替换。
答案 0 :(得分:1)
第一个解决方案是定义一个自定义的节点访问者"对于Twig。 Twig_NodeVisitor_Optimizer是如何更改模板内容而无需添加任何特殊功能,过滤器或标记的示例。
但是,定义一个"节点访问者"非常复杂,我建议您以另一种方式解决这个问题:
str_replace()
或preg_replace()
函数。render()
方法生成的输出。