本帖最后由 mark35 于 2013-9-19 20:55 编辑
DZ7.2: include/template.func.php line42
- $template = preg_replace("/[\n\r\t]*\{csstemplate\}[\n\r\t]*/ies", "loadcsstemplate('\\1')", $template);
复制代码 DZ3: source/class/class_template.php line62
DZ2.5: source/class/class_template.php line58
- $template = preg_replace("/[\n\r\t]*\{csstemplate\}[\n\r\t]*/ies", "\$this->loadcsstemplate('\\1')", $template);
复制代码 1、loadcsstemplate()这个函数不需要参数
2、\\1后向引用是不存在的,因为前面的匹配规则中没有捕获组1
修正代码:
DZ72
- $template = preg_replace_callback("/[\n\r\t]*\{csstemplate\}[\n\r\t]*/is", create_function(
- '$m',
- 'return loadcsstemplate();'
- ), $template); // waiting: loadcsstemplate() 不需要参数
复制代码 DZX
- $template = preg_replace_callback("/[\n\r\t]*\{csstemplate\}[\n\r\t]*/is", create_function(
- '$m',
- 'return $this->loadcsstemplate();'
- ), $template); // waiting: loadcsstemplate() 不需要参数
复制代码 php5.5开始preg_replace() 弃用/e修饰符,采用preg_replace_callback()可避免以后的兼容问题
|