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


Posted in PHP onFebruary 04, 2017

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

环境错误级别:error_reporting =E_ALL

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

示例:

代码:

$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 相关文章推荐
PHP 中的类
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php 删除数组元素
Jan 16 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
深入PHP autoload机制的详解
Jun 09 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 #PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 #PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 #PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 #PHP
关于PHP内置的字符串处理函数详解
Feb 04 #PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 #PHP
浅谈PHP中的错误处理和异常处理
Feb 04 #PHP
You might like
php5.2时间相差8小时
2007/01/15 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python框架django项目部署相关知识详解
2019/11/04 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
教师廉洁自律承诺书
2014/05/26 职场文书
离职保密承诺书
2014/05/28 职场文书
五一促销活动总结
2014/07/01 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Redis中一个String类型引发的惨案
2021/07/25 Redis