PHP preg_replace_callback_array() 函數

PHP 正則運算式(PCRE)PHP 正則運算式(PCRE)

preg_replace_callback_array 函數執行一個正則運算式搜索並且使用一個回調進行替換。

該函數在 PHP7+ 版本支持。

語法

mixed preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] )

函數類似於 preg_replace_callback(), 但它是基於每個模式匹配來回調函數進行替換。

參數說明:

  • $patterns_and_callbacks: 關聯數組,key(模式) => value(回調函數)

  • $subject: 要查找的和替換的字串或數組。

  • $limit: 可選,每個模式最大的替換次數,默認為 -1(無限制,全部匹配完)。

  • $count: 可選,指定替換的次數。

返回值

如果 subject 是一個數組返回數組,否則返回字串。發生錯誤則返回 NULL。

如果查找到了匹配,返回替換後的目標字串(或字串數組), 其他情況 subject 將會無變化返回。

實例

實例 1

<?php $subject = 'Aaaaaa Bbb'; preg_replace_callback_array( [ '~[a]+~i' => function ($match) { echo strlen($match[0]), ' matches for "a" found', PHP_EOL; }, '~[b]+~i' => function ($match) { echo strlen($match[0]), ' matches for "b" found', PHP_EOL; } ], $subject ); ?>

執行結果如下所示:

6 matches for "a" found
3 matches for "b" found

PHP 正則運算式(PCRE)PHP 正則運算式(PCRE)