php 所有PREG 正則函式

2021-06-01 05:52:54 字數 1371 閱讀 1242

1.preg_grep函式

preg_grep(pattern,array input);

輸入陣列input中尋找匹配模式pattern的字串,並將所有的匹配字串返回。返回值就是所有匹配的字串組成的陣列。

2.preg_match函式

preg_match(pattern,string subject,[array matches])

該函式在subject字串中尋找匹配pattern的字串。如果找到則返回乙個非零值,否則返回零值。如果選用了可選項matches,那麼匹配的字串將被放到第乙個元素的位置,可以用$matches[0]來讀取,圓括號匹配的結果也按順序放在這個陣列中,第乙個是$matches[1],第二個是$matches[2],依次類推。

3.preg_match_all函式

preg_match_all(pattern,subject,array matches,[int order])

該函式在subject字串中尋找匹配pattern的互不重疊的文字,找到了匹配的文字則返回匹配文字的個數,否則返回0。匹配文字被放在二維陣列matches中,matches[0]中存放的是所有符合的字串。各種嵌入的子模式匹配的結果依次放在陣列matches[1]~[n]中。

order引數可選,可取的值為preg_pattern_order和preg_set_order。

4.preg_replace函式

preg_replace(pattern,replacement,subject,[int limit])

該函式將subject中符合pattern模式的部分替換成replacement,返回值型別和subject型別一樣,如果有替換,則返回替換後的值,反之則返回原來的值。

引數可以是陣列也可以是變數,有幾種情況:

<1>如果subject引數是陣列型別。函式對每乙個陣列元素進行替換操作;

<2>如果pattern是陣列則函式根據每乙個pattern中的型別進行替換;

<3>如果pattern和replacement都是陣列,則按兩個陣列中的元素對應完成替換;

<4>如果replacement中的元素個數少於pattern中的元素個數。那麼不夠的部分將有空字串來代替。

5.preg_split函式

preg_split(pattern,subject,[int limit][flages])

該函式以pattern定義的模式為分隔符將subject字串分隔為若干個部分,返回陣列,其中存放被分隔後的字串。limit可限制返回字串的數目,如果設定為-1表示對返回的字串數目不加任何限制。flags也是可選項,其有兩個值:preg_split_no_empty設定函式不返回空字串,perg_split_delim_capture,該選項設定pattern中的嵌入子模式也會被函式匹配。

PHP中preg函式模式修正符

i 最常見的,大小寫忽略模式.m pcre multiline 多行模式.預設情況下,pcre將目標字串作為單一的一 行 字元所組成的 甚至其中包含有換行符也是如此 行起始 元字元 僅僅匹配字串的起始,行結束 元字元 僅僅匹配字串的結束,或者最後乙個字元是換行符時其前面 除非設定了 d 修正符 這和...

PHP字串所有函式

字串所有函式 具體檢視手冊 字串函式 這個看著眼花,只能是快速過眼的時候使用。addcslashes 以 c 語言風格使用反斜線轉義字串中的字元 addslashes 使用反斜線引用字串 bin2hex 將二進位制資料轉換成十六進製制表示 chop rtrim 的別名 chr 返回指定的字元 chu...

PHP正則匹配的函式

pattern 0 9 subject aere7ewrwef2fwer2werwq4 replacement 力 pattern array 0123 456 789 subject array 0wer 51fas asfas replacement array 力 少 啊 a b array ...