ECSHOP如何解决Deprecated: preg_replace()报错
来源:互联网 发布:overture mac 破解版 编辑:程序博客网 时间:2024/06/11 08:58
类似这样的报错:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead inD:\wyh\ecshop\includes\cls_template.php on line 300
1、错误原因:
preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了。
如果你的PHP版本恰好是PHP5.5.X,那你的ECSHOP肯定就会报类似这样的错误。
2、解决办法:
一、将 cls_template.php的300行
return
preg_replace(
"/{([^\}\{\n]*)}/e"
,
"\$this->select('\\1');"
,
$source
);
换成:
return
preg_replace_callback(
"/{([^\}\{\n]*)}/"
,
function
(
$r
) {
return
$this
->select(
$r
[1]); },
$source
);
二、将cls_template.php的493行
$out
=
"<?php \n"
.
'$k = '
. preg_replace(
"/(\'\\$[^,]+)/e"
,
"stripslashes(trim('\\1','\''));"
, var_export(
$t
, true)) .
";\n"
;
换成:
$out
= <?php \n
" . '$k = ' . preg_replace_callback("
/(\
'\\$[^,]+)/" , function($r) {return stripslashes(trim($r[1],'
\
''
));}, var_export(
$t
, true)) . ";\n";
三、将cls_template.php的552行
$val
= preg_replace(
"/\[([^\[\]]*)\]/eis"
,
"'.'.str_replace('$','\$','\\1')"
,
$val
);
换成:
$val
= preg_replace_callback(
"/\[([^\[\]]*)\]/"
,
function
(
$r
) {
return
'.'
.
str_replace
(
'$'
,
'$'
,
$r
[1]);},
$val
);
四、将cls_template.php的1069行
$pattern
=
'/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se'
;
$replacement
=
"'{include file='.strtolower('\\1'). '}'"
;
$source
= preg_replace(
$pattern
,
$replacement
,
$source
);
换成:
$pattern
=
'/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s'
;
$source
= preg_replace_callback(
$pattern
,
function
(
$r
){
return
'{include file='
.
strtolower
(
$r
[1]).
'}'
;},
$source
);
0 0
- ECSHOP如何解决Deprecated: preg_replace()报错
- ECSHOP如何解决Deprecated: preg_replace()报错
- ECSHOP如何解决Deprecated: preg_replace()报错
- Ecshop如何解决Deprecated: preg_replace()报错
- ECSHOP如何解决Deprecated: preg_replace()报错
- ECSHOP如何解决Deprecated: preg_replace()报错
- ECSHOP解决Deprecated: preg_replace()报错
- ECSHOP如何解决DEPRECATED: PREG_REPLACE()
- 安装ecshop 常见的 Strict Standards: array_shift()和Deprecated: preg_replace():
- PHP Deprecated: preg_replace()问题
- 解决Deprecated: preg_replace(): The /e modifier is deprecated的三个方法
- nagiosQL访问时报错PHP message: PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_re
- ecshop在php5.5+报preg_replace/e错误的几处改动
- ecshop助理上传报错 无法连接服务器:XML 文档只能有一个顶层元素。line2 <b> Deprecated</b>:Assignig the Deprecated</b>: 7510
- 如何解决刚安装完hadoop报Warning: $HADOOP_HOME is deprecated的方法
- ECShop在PHP 5.4以上版本报错的解决
- 解决php5.3中Deprecated: Assigning the return value of new by reference is deprecated in报错
- ecshop报错问题解决
- 利用EXCEL进行数据挖掘(一)
- RMQ--ST表算法理解
- npm查看全局安装过的包
- MFC中的Document-View结构
- 细说ItemInfo
- ECSHOP如何解决Deprecated: preg_replace()报错
- Swift按照数组元素出现的次数及大小排序
- Java
- 【技术贴】聊聊ArcGIS Runtime for Xamarin
- label
- 整理查看mysql数据库基本信息SQL语句
- Android屏幕尺寸适配
- SpringMVC学习笔记
- js的原型继承