This article explains how ECSHOP can perfectly solve the problem of Deprecated: preg_replace() error. Share it with everyone and give it as a reference. I hope to be helpful.
With the update of the PHP version, new errors broke out in the ECSHOP system. ECSHOP official updates are too slow, and they do not upgrade in time after discovering these problems, causing users to be full of errors during installation and use. After talking for a long time, what is this new error? Its complete error message is as follows:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in... ..
Note: Not everyone’s ECSHOP will report this error. Only ECSHOP using the PHP5.5 environment will report this error.
The following ecshop development center (www.68ecshop.com) tutorial will first talk about the reasons for the error:
1), error reason:
The modifier /e used in the preg_replace() function has been deprecated in PHP5.5.x.
If your PHP version happens to be PHP5.5.X, then your ECSHOP will definitely report an error similar to the following:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in...
2), solution:
In fact, from the error message just now We can also see something, it prompts us to use preg_replace_callback instead of preg_replace.
So the solution is as follows:
Use Notepad or other PHP editing software (such as: editplus) to open the file includes/cls_template.php and find
return preg_replace("/ {([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
replaced with
return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $ source);
Problem solved.
3), If other files in your ECSHOP also report similar preg_replace errors, please refer to the above method to solve it. The solution ideas and solutions are the same. .
Related recommendations:
PHP Tutorial—Ecshop Secondary Development (3)
Use ecshop to add fields to the backend goods table
Recommend 5 ecshop templates that imitate well-known e-commerce websites (collection)
The above is the detailed content of Solution to Deprecated: preg_replace() error in ECSHOP. For more information, please follow other related articles on the PHP Chinese website!