我在这个问题上几乎解决了我的问题。现在,我必须找到一种方法来替代默认的刀片转义功能。我认为有一种方法可以创建一个扩展并覆盖BladeCompiler类行为的类,通过这种方式,我可以进行如下操作:
class MyCustomCompiler extends BladeCompiler{
function compileEscapedEchos($value){
return parent::compileEscapedEchos(utf8_encode($value));
}
}
如果可以的话,我只需要让laravel使用MyCustomCompiler而不是BladeCompiler。我该怎么做?
您甚至不必重写编译器,只需在服务提供者中执行此操作:
Blade::setEchoFormat('e(utf8_encode(%s))');
这将改变{{ ... }}
编译方式。默认格式为e(%s)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句