PHP preg_replace_callback_array() 関数
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
$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)