//$val = preg_replace("/[([^[]]_)]/eis", "'.'.str_replace('$','\$','\1')", $val); 替换为 $val = preg_replace_callback("/[([^[]]_)]/is", function ($matches) { return '.'.str_replace('$','\$',$matches[1]);}, $val); 将不能支持 $lang.os.[$order.order_status] 这种形式的变量,导致很多地方无法显示出内容