e开头的正则 php,PHP正则表达式e模式
作者: 溪水清澈
舉例如下:
$arr =array( 'abc', 'def', 'ghi' );
$brr =array( 'opq', 'rst', 'xyz' );
$pattern= '/:(\d+)/e';
$subject= '/:2/:1/:0/';
$str =preg_replace( $pattern, '$arr[$1] . $brr[$1]',$subject );
echo $str; //輸出為: /ghixyz/defrst/abcopq/
e模式, 只限用于preg_replace()函數,
preg_replace( 搜索模式, 替換字符串, 搜索目標 );
e模式可以把
替換字符串(上例中的'$arr[$1]. $brr[$1]')
中的內容當成一個PHP表達式
(僅僅是一個, 也就是不能有分號)
(上例中是兩個數組元素進行字符串拼接),
先進行反向引用替換
(上例中的$1, 替換成捕獲到的數字,
結果就是(假設捕獲到了數字2: '$arr[2] . $brr[2]'),
再進行PHP表達式替換
(把'$arr[2] . $brr[2]'中的數組元素替換成相應的值,
結果為: 'ghixyz')
最后替換掉 搜索目標 中相應的字符串(此處為把 :2 替換成 'ghixyz')
所以第一個匹配替換后的結果就是 '/ghixyz/:1/:0/'
第二替換結果是 '/ghixyz/defrst/:0/'
第三也就是最終結果是 '/ghixyz/de
總結
以上是生活随笔為你收集整理的e开头的正则 php,PHP正则表达式e模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php使用redis持久化,Redis持
- 下一篇: matlab中inband函数,pjsi