<p id="gwjr0"></p>

    1. 注冊 | 登錄 |
      易站導航

      php中的怎樣運用正則替代

      時間: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中的怎樣使用正則更換的具體內容,更多請關注站長在線其它相關文章!


      上篇:詳解在PHP模板引擎smarty生成隨機數的辦法和math函...

      下篇:php讀取大文件的行數的辦法