時間:2021-07-15人氣:-
php中的正則更換使用
preg_replace 介紹
preg_replace — 施行一個正則表達式的搜索和更換
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed
搜索subject中匹配pattern的部分, 以replacement停止更換。
preg_replace 參數
pattern
要搜索的模式??梢允挂粋€字符串或字符串數組。
可以使用一些PCRE潤飾符。
replacement
用于更換的字符串或字符串數組。假如這個參數是一個字符串,并且pattern 是一個數組,那么所有的模式都使用這個字符串停止更換。假如pattern和replacement 都是數組,每個pattern使用replacement中對應的 元素停止更換。假如replacement中的元素比pattern中的少, 多出來的pattern使用空字符串停止更換。
replacement中可以包括后向援用\n 或$n,語法上首選后者。 每個 這樣的援用將被匹配到的第n個捕捉子組捕捉到的文本更換。 n 可以是0-99,\0和$0代表完全的模式匹配文本。 捕捉子組的序號計數方式為:代表捕捉子組的左括號從左到右, 從1開端數。假如要在replacement 中使用反歪線,必需使用4個("\\",譯注:由于這第一是php的字符串,經過轉義后,是兩個,再經過 正則表達式引擎后才被認為是一個原文反歪線)。
當在更換模式下工作并且后向援用后面緊跟著需如果別的一個數字(比方:在一個匹配模式后緊接著增添一個原文數字), 不克不及使用\1這樣的語法來描寫后向援用。比方, \11將會使preg_replace() 不克不及懂得你但愿的是一個\1后向援用緊跟一個原文1,還是 一個\11后向援用后面不跟任何東西。 這種狀況下解決方案是使用${1}1。 這創立了一個獨立的$1后向援用, 一個獨立的原文1。
當使用被棄用的 e 潤飾符時, 這個函數會轉義一些字符(即:'、"、 和 NULL) 然后停止后向援用更換。當這些完成后請確保后向援用解析完后沒有單引號或 雙引號引發的語法錯誤(比方: 'strlen('$1')+strlen("$2")')。確保相符PHP的 字符串語法,并且相符eval語法。由于在完成更換后, 引擎會將結果字符串作為php代碼使用eval方式停止評估并將返回值作為終究參與更換的字符串。
subject
要停止搜索和更換的字符串或字符串數組。
假如subject是一個數組,搜索和更換回在subject 的每一個元素上停止, 并且返回值也會是一個數組。
limit
每個模式在每個subject上停止更換的最大次數。默許是 -1(無窮)。
count
假如指定,將會被填充為完成的更換次數。
preg_replace 返回值
假如subject是一個數組, preg_replace()返回一個數組, 其他狀況下返回一個字符串。
假如匹配被查尋到,更換后的subject被返回,其他狀況下 返回沒有改動的 subject。假如發生錯誤,返回 NULL 。
以上就是php中的怎樣使用正則更換的具體內容,更多請關注站長在線其它相關文章!