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)

その他の拡張