日期:2014-05-16  浏览次数:20849 次

ecshop2.7.3 preg_replace()如何替换成preg_replace_callback()?
我的ecshop进入index页后就一直报Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in D:\ecshop\apache2.4.4\htdocs\ec\includes\cls_template.php on line 300 的错误,请问我应该怎么改?

php 5.5
apache 2.4.4
ecshop 2.7.3
ecshop? preg_replace Deprecated

------解决方案--------------------
preg_replace_callback($pattern, function($r) { return 与$r相关的值; }, $subject)

你应该给出 cls_template.php 第 300 行的代码
这样才能给你准确的写法
------解决方案--------------------
那就是
return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

如果还有其他的地方报这样的错,就参照这个改