php 正则报错,PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析...
本文實例講述了PHP正則替換函數preg_replace()報錯:Notice Use of undefined constant的解決方法。分享給大家供大家參考,具體如下:
環境錯誤級別:error_reporting =E_ALL
某天我在研究一下php下的正則替換函數perg_replace(),
示例:
代碼:
$subject="2222a2222fff222222222A22222";
$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"這樣的形式.
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:http://tools.ddpool.cn/regex/javascript
正則表達式在線生成工具:http://tools.ddpool.cn/regex/create_reg
希望本文所述對大家PHP程序設計有所幫助。
總結
以上是生活随笔為你收集整理的php 正则报错,PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java多个按钮监听,如何改成监听多个按
- 下一篇: php函数文件,PHP文件函数大全