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 19 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
PHP中把对象转换为关联数组代码分享
Apr 09 PHP
php支持中文字符串分割的函数
May 28 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
Aug 02 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 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
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
PHP对象相关知识总结
2017/04/09 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
简单易懂的python环境安装教程
2017/07/13 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
python matplotlib库的基本使用
2020/09/23 Python
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
《落花生》教学反思
2014/02/25 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
单位接收证明格式
2015/06/18 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL