PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析

2025-05-29 0 40

本文实例讲述了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法。分享给大家供大家参考,具体如下:

环境错误级别:error_reporting =E_ALL

某天我在研究一下php下的正则替换函数perg_replace(),

示例:

代码:

?

1

2

3

4
$subject="2222<b>a</b>2222fff222222222A22222";

$pattern = "/(a)/e";

$replacement= "md5($1)";//$1,取匹配到的内存变量的值(\\1也可以,只不过要注意双引号内的转义)

echo preg_replace($pattern,$replacement, $subject);

结果:

虽然结果是对的,但是报了如下的错误:

Notice: Use of undefined constant a – assumed 'a' in D:\\xampp\\htdocs\\studyRoom\\regular\\index.php(18) : regexp code on line 1

造成这原因的是在$replacement= "md5($1)";中的md5()方法,在参数传递的时候,参数没有加单引号或者双引号,系统就认为是个常量,所以就出现了这样的问题。改成如下 即可:

$replacement= "md5('$1')";(或:$replacement= "md5('\\\\1')";)

注:在取匹配到的内存变量的值的时候可以用"$1"或者"\\1"这样的形式.

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析 https://www.kuaiidc.com/95596.html

相关文章

发表评论
暂无评论