
使用{list action=sql sql='select * from @#1_news where abc!="" order by hits desc limit 6'} 会出现如上图所示的错误
在 diy/dayrui/libraries/Template.php 中第 453 行中有判断 是否兼容 5.5 版本
if (version_compare(PHP_VERSION, '5.5.0') >= 0) {
$view_content = preg_replace_callback("/_get_var\('(.*)'\)/Ui", 'php55_replace_cache_array', $view_content);
$view_content = preg_replace_callback("/list_tag\(\"(.*)\"\)/Ui", 'php55_replace_array', $view_content);
} else {
$view_content = preg_replace("/_get_var\('(.*)'\)/Uie", "\$this->_replace_cache_array('\\1')", $view_content);
$view_content = preg_replace("/list_tag\(\"(.*)\"\)/Uie", "\$this->_replace_array('\\1')", $view_content);
}
以及 2557行中过滤函数
// 替换cache标签中的单引号数组 for php5.5
function php55_replace_cache_array($string) {
return "_get_var('".preg_replace('#\[\'(\w+)\'\]#Ui', '.\\1', $string[1])."')";
}
// 替换list标签中的单引号数组
function php55_replace_array($string) {
return "list_tag(\"".preg_replace('#\[\'(\w+)\'\]#Ui', '[\\1]', $string[1])."\")";
}