问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php报错: Deprecated: preg_replace(): The /e modifier is deprecated...

发布网友 发布时间:2022-04-06 01:45

我来回答

2个回答

热心网友 时间:2022-04-06 03:14

这个错误是这样的情况,我们来一起分析下:

从错误的信息来看,貌似说是用了不推荐的函数,也就是过时的函数,可是事实是这样吗?

为了一探究竟,我查看了PHP手册的preg_replace()函数介绍,并没有说这个函数过时了或不推荐了,那么,问题出在哪了呢?

继续往下看,结果在手册中看到这样的消息:

错误/异常

当传入 "\e" 修饰符的时候,会产生一个 E_DEPRECATED 级别的错误。

好像明白点了,是因为用了“\e”修饰符,那之前使用为什么没有出错呢?

继续往下看,看到版本更新,一下恍然大悟,原来如此:

版本     说明

5.5.0    /e 修饰符已经被弃用了。使用 preg_replace_callback() 代替。参见文档中 PREG_REPLACE_EVAL 关于安全风险的更多信息  

这下问题很清楚了,5.5.0以后的版本,/e的参数被废弃了,也就是不推荐了,官方建议使用preg_replace_callback()函数代替。

废话有点多了,好,下面进入正题。

好了,问题找到了,那就看看如何解决,官方推荐使用preg_replace_callback() ,那还客气啥,用就是了。

可是,问题又来了,怎么用呢?

继续看手册,看preg_replace_callback()的手册,说的很明白。

其实这个函数和preg_replace()唯一的区别就是,preg_replace()将匹配到的串直接替换,而preg_replace_callback()是将匹配到的串带入到回调函数中做处理后然后替换,就是这么任性,灵活度一下加大了,但是效率肯定不如preg_replace(),所以,如果仅仅是简单替换,还是用preg_replace()的好,如果要对匹配到的串进行特殊处理,那就非preg_replace_callback()莫属了,亲!

好了,就到这里了,为了升级知道账号,所以废话有点多了。。。。。望采纳啊。 

热心网友 时间:2022-04-06 04:32

语句拼接不对
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 一键安装php后,不能打开某些php网页文件,提示什么数据库错误哦等等一些问题。安装完后怎样具体配置php PHP中自定义错误处理函数无法调用的问题 关于PHP版本比较,和错误报告。。 php 怎么设置报错级别 和 控制报错 请用通俗语言详细解释PHP的error_reporting语法。 php不传入参数提示出错 php error reporting 报告有哪些类型的错误报告 求php二级联动代码!!! 求php JS 二级菜单(select) 联动 的代码 二级菜单联动php jq 高分求php二级联动下拉菜单代码! PHP二级下拉框联动 求php二级联动下拉菜单 求php横向二级联动菜单 如图 我已经创建了一个二级联动下拉菜单 请问如何在php中用代码实现 将下拉菜单中选中的选项 和m php二级联动 php如何做出二级联动菜单,数据需要从数据库中取出 php二级联动菜单 php如何实现二级下拉联动 PHP页面如何记录返回上一个PHP页面? 如下php代码执行为什么报错,错在哪里 php获取星期几 使用PHP,应用switch……case分支语句来输出当天为星期几 PHP判断今天星期几的问题 <?php 9 $d=date("D"); 10 if ($d=="Mon") 11 {echo "今天是星期一";} 12 else if ($d=="Tue") 13 {echo " PHP新手,写了个算周几的算法练习。可是答案不准确,能请各位帮我看看,我这个哪里出错了,谢谢 php 怎样获取当天是第几周 如何用php判断日期是否是周末? php 判断本月完整周,如何判断该完整周的第几天 php 日期判断是否是当天 如何用php程序删除"数组"中"字符串元素"中的"空格"? PHP如何去掉所调用中文字间的所有空格 PHP将特定的字符串替换为空值? PHP中如何将数组重复元素替换为空值? 用php将最后一个tr删掉,或者替换为空 PHP中,一串UTF8中文字符,要将其中的全角问号替换为空,正则表达式应该怎么写 把非数字替换为空 PHP php 如何替换指定字符串后的内容 PHP里面如何将span标签替换为空 php 会员资源 屏蔽 真实路径 下载