ecshop在php5.6下的错误。在5.3下是正常的。应该是PHP高版本函数变化了。
错误提示:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/wwwroot/www.ufeelwine.com/includes/cls_template.php on line 1061
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/wwwroot/www.ufeelwine.com/includes/cls_template.php on line 483
具体网页地址:
http://www.ufeelwine.com/supplier.php?suppId=7
第483行:
$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";
$out .= 'echo $this->_echash . $k[\'name\'] . \'|\' . serialize($k) . $this->_echash;' . "\n?>";
第1061行:
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';
$replacement = "'{include file='.strtolower('\\1'). '}'";
$source = preg_replace($pattern, $replacement, $source);
应该怎么改写呢?
<?php //cls_template.php
//-- 原本
//-- 修改成
//-- 原本
//-- 修改成
//-- 原本
//-- 修改成
//--- 原本
//--- 修改成