PHP正則替換函數(shù)preg_replace()報(bào)錯(cuò):Notice Use of undefined constant的解決方法分析
本文實(shí)例講述了PHP正則替換函數(shù)preg_replace()報(bào)錯(cuò):Notice Use of undefined constant的解決方法。分享給大家供大家參考,具體如下:
環(huán)境錯(cuò)誤級(jí)別:error_reporting =E_ALL
某天我在研究一下php下的正則替換函數(shù)perg_replace(),
示例:
代碼:
$subject="2222<b>a</b>2222fff222222222A22222"; $pattern = "/(a)/e"; $replacement= "md5($1)";//$1,取匹配到的內(nèi)存變量的值(\1也可以,只不過要注意雙引號(hào)內(nèi)的轉(zhuǎn)義) echo preg_replace($pattern,$replacement, $subject);
結(jié)果:
雖然結(jié)果是對(duì)的,但是報(bào)了如下的錯(cuò)誤:
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()方法,在參數(shù)傳遞的時(shí)候,參數(shù)沒有加單引號(hào)或者雙引號(hào),系統(tǒng)就認(rèn)為是個(gè)常量,所以就出現(xiàn)了這樣的問題。改成如下 即可:
$replacement= "md5('$1')";(或:$replacement= "md5('\\1')";)
注:在取匹配到的內(nèi)存變量的值的時(shí)候可以用"$1"或者"\1"這樣的形式.
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php7基于遞歸實(shí)現(xiàn)刪除空文件夾的方法示例
這篇文章主要介紹了php7基于遞歸實(shí)現(xiàn)刪除空文件夾的方法,結(jié)合具體實(shí)例分析了php7遞歸遍歷目錄及判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下2017-06-06PHP中empty,isset,is_null用法和區(qū)別
最近在閱讀項(xiàng)目的源碼,發(fā)現(xiàn)源碼中就對(duì)empty、isset和is_null函數(shù)(語言特性)亂用,有的地方很明顯的就挖坑了。不能正確的去理解這些東西,就很可能給后續(xù)的開發(fā)挖坑了。2017-02-02php計(jì)算兩個(gè)整數(shù)的最大公約數(shù)常用算法小結(jié)
這篇文章主要介紹了php計(jì)算兩個(gè)整數(shù)的最大公約數(shù)常用算法,實(shí)例總結(jié)了求最大公約數(shù)的三種常用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Windows上php5.6操作mongodb數(shù)據(jù)庫示例【配置、連接、獲取實(shí)例】
這篇文章主要介紹了Windows上php5.6操作mongodb數(shù)據(jù)庫,結(jié)合實(shí)例形式簡單分析了Windows平臺(tái)上使用php5.6針對(duì)MongoDB數(shù)據(jù)庫的配置、連接、獲取實(shí)例等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02PHP?array_combine()?函數(shù)內(nèi)置函數(shù)
這篇文章主要介紹了PHP?array_combine()函數(shù)內(nèi)置函數(shù),array_combine()是PHP中的一個(gè)內(nèi)置函數(shù),用于組合兩個(gè)數(shù)組并通過使用一個(gè)數(shù)組作為鍵和另一個(gè)數(shù)組作為值來創(chuàng)建一個(gè)新數(shù)組2022-09-09PHP中使用imagick實(shí)現(xiàn)把PDF轉(zhuǎn)成圖片
這篇文章主要介紹了PHP中使用imagick實(shí)現(xiàn)把PDF轉(zhuǎn)成圖片,本文著重講解了2個(gè)錯(cuò)誤的處理,特別是GhostScript錯(cuò)誤,需要的朋友可以參考下2015-01-01