首页 > 网站 > 建站经验 > 正文

解决DedeCMS出现Deprecated: Function ereg_replace()错误的问题

2024-04-25 20:51:53
字体:
来源:转载
供稿:网友

针对于安装完成后出现安装完出现Deprecated: Function ereg_replace() is deprecated in

dedecms由于技术人员的习惯问题可能针对php5.3甚至更高版本的php支持会有些错误,大家可以打开文件dede/config.php

找到define('DEDEADMIN', ereg_replace("[///]{1,}", '/', dirname(__FILE__) ) );

没有必要删除,只要在这句前面加入"//"将其隐掉就好了,然后在下面加一句

define('DEDEADMIN',strtr(dirname(__FILE__),'///','//'));

就可以了!上传覆盖,然后更新下在看看,应该解决问题老!

对以上操作正则表达式的解释如下:

在正则表达式中,反斜线通常与其它字符一起构成特殊的结构,譬如‘/d’用来匹配数字字符,‘/s’用来匹配空白字符,‘/1’用来反向引用第一个分组捕获的文本。

可是,如果我们在正则表达式中,仅仅需要表示%26ldquo;反斜线%26rdquo;字符本身,该如何做呢?

其实,正则表达式对这个问题的处理,与字符串的处理是一样的,也就是说,在正则表达式中,必须用转义序列‘//’来表示单个反斜线。

这个规定会带来一个有趣的问题:正则表达式中单独出现的反斜线字符,在正则表达式的层面,必须以转义序列‘//’来表示,然而,每个反斜线,在表示正则表达式的字符串中,又必须以转义序列‘//’来表示。所以,在字符串中,必须写出四个反斜线‘////’,才能对应到正则表达式中单独出现的一个反斜线字符:在字符串处理层面,它们会被识别为两个反斜线‘//’,在正则表达式的层面,它们会被识别为单个反斜线字符‘/’。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表