首頁  >  文章  >  後端開發  >  PHP 7中的preg_replace_callback_array()函數

PHP 7中的preg_replace_callback_array()函數

PHPz
PHPz轉載
2023-08-19 13:41:021592瀏覽

PHP 7中的preg_replace_callback_array()函数

Preg_replace_callback_array()函數在PHP 7中表示一個正規表示式,並取代了回呼函數的使用。此函數傳回字串或字串數組,以匹配一組正規表示式,並使用回調函數進行替換。

Syntax

preg_replace_callback_array(patterns, input, limit, count)

參數值:

  • #pattern −它需要一個關聯數組,將正規表示式模式與回呼函數關聯起來。
  • input/subject −它需要一個字串陣列來執行替換。
  • limit −它是可選的。預設使用-1,表示無限制。它設定了每個字串中可以進行多少次替換的限制。
  • count −它也是可選的,就像limit一樣。這個變數將包含一個數字,表示函數執行後又進行了多少次替換。
  • flags −它可以是preg_offset_capture和preg_unmatched_as_null標誌的組合,這些標誌會影響符合陣列的格式。
  • 傳回值 −preg_replace_callback_array()傳回字串或字串陣列。如果發現錯誤,則傳回null值。如果找到匹配項,則傳回新的subject,否則傳回未更改的subject。

Preg_replace_callback_array():範例

#示範

<html>
<head>
<title> PHP 7 Featuretutorialpoint:</title>
</head>
<body>
<?php
   $subject = &#39;AaaaaaaBbbbCccc&#39;;
   preg_replace_callback_array (
      [
         &#39;~[a]+~i&#39; => function ($match) {
            echo strlen($match[0]), &#39; number of "a" found&#39;, PHP_EOL;
         },
         &#39;~[b]+~i&#39; => function ($match) {
            echo strlen($match[0]), &#39; number of "b" found&#39;, PHP_EOL;
         },
         &#39;~[c]+~i&#39; => function ($match) {
            echo strlen($match[0]), &#39; number of "c" found&#39;, PHP_EOL;
         }
      ],
      $subject
   );
?>
</body>
</html>

輸出

上述程式碼的輸出為 −

#
7 number of "a" found
4 number of "b" found
5 number of "c" found

以上是PHP 7中的preg_replace_callback_array()函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除