English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 は変更されずに返されます。
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' マッチングが見つかりました', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' マッチングが見つかりました', PHP_EOL;
}
],
$subject
);
?>
以下に実行結果を示します:
6 「a」のマッチングが見つかりました 3 「b」のマッチングが見つかりました