3.2.3错误信息多语言支持小bug

浏览:468 发布日期:2016/06/29 分类:求助交流
本人新手,在使用自动验证功能时,想在错误提示中输出JSON格式的字符串,但发现花括号“{}”中的内容总会被当成多语言变量处理,查看源代码,发现3.2.3版本对于多语言变量的处理是这样的:if(0==strpos($val[2],'{%') && strpos($val[2],'}')) $val[2] = L(substr($val[2],2,-1));

个人感觉框架原本的目的应该是判断错误提示字符串是否以“{%”开头并且以“}”结束,如果是,则将其中的多语言变量提取并替换。

但这样的判断感觉有些太过简单,且会产生小bug,如果字符串不以“{%”开头,strpos返回的是false,而php中0==false的结果为true,这样就等于判断“{%”开头的功能就没了,后面只要字符串包括“}”,这里的判断结果就仍然为true,也就是说,只要字符串中有“}”就会被当成多语言变量进行处理

以上是个人使用中发现的一个小情况,如有错误欢迎指正说明
最佳答案
评论( 相关
后面还有条评论,点击查看>>