关于thinkphp 模板解析抽疯 bug

浏览:1539 发布日期:2013/07/26 分类:技术分享
现象为,页面就输出空白,不报错,无任何提示。删除几行代码,撤销换行,就恢复正常。存在问题的版本有php5.2.8,php5.3,php5.4正常。
原因是,当在php5.2.8,php5.3版本时,切模板文件代码量较大,大概19000长度时,thinkphp解析模板出错。preg_replace();函数返回为null把$content变量清空。导致一个抽风的现象,浏览器输出空白,但是thinkphp和php都不报错。
解决办法,ThinkPHP/Lib/Template/ThinkTemplate.class.php
第406行 替换成下面的代码
for($i=0;$i<$level;$i++) {
$huai_ren_la = preg_replace($patterns,$replacement,$content);
$content= !empty($huai_ren_la)?$huai_ren_la:$content;
}

同时批评下写这段代码for循环不加括号的程序员。这种写法,很狗屎。。。


最佳答案
评论( 相关
后面还有条评论,点击查看>>