舉例如下:
$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
php正規表示式 修正模式
修正模式 是給正規表示式的匹配過程指定一種匹配模式,類似於手機的模式 家庭模式 會議模式等 包含以下這些 貪婪匹配 指的是當匹配結果出現歧義 出現多種結果 的時候,它會選擇結果最長的那個結果 懶惰匹配 u 指的是當匹配結果出現歧義 出現多種結果 的時候,它會選擇結果最短的那個結果 i 忽略正規表示式...
php正規表示式詳解,PHP正規表示式使用詳解
操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...
PHP正規表示式
php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...