TECH I.S.

PHP preg_replace_callback_array()関数

❮ PHP 正規表現リファレンス

文中の各単語に含まれる文字または数字の数を示します。

<?php function countLetters($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'letter]'; } function countDigits($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'digit]'; } $input = "There are 365 days in a year."; $patterns = [   '/\b[a-z]+\b/i' => 'countLetters',   '/\b[0-9]+\b/' => 'countDigits' ]; $result = preg_replace_callback_array($patterns, $input); echo $result; ?>


定義と使用法

preg_replace_callback_array()関数は、一連の正規表現の一致がコールバック関数の戻り値に置き換えられた文字列または文字列の配列を返します。

注:文字列ごとに、関数は指定された順序でパターンを評価します。文字列の最初のパターンを評価した結果は、2番目のパターンの入力文字列として使用されます。これにより、予期しない動作が発生する可能性があります。


構文

<div>preg_replace_callback_array(<em>patterns, input, limit, count</em>)</div>

パラメータ値
パラメータ 説明
pattern Required. 正規表現パターンをコールバック関数に関連付ける連想配. 列。
配列の最初の要素には式全体のマッチが含まれ、残りの要素には式の各グループのマッチが含まれます。
input Required 置換が実行される文字列または文字列の配列
limit Optional デフォルトは-1で、無制限を意味します。各文字列で実行で. きる置換の数に制限を設定します
count Optional 関数が実行された後、この変数には、実行された置換の数を示す数値が含まれます

Technical Details

Return Value: 入力文字列または文字列に置換を適用した結果の文字列または文字列の配列を返します。

PHP バージョン:

7+

その他の例

この例では、パターンが順番に評価されることで、予期せぬ影響が発生する可能性があることを示している。まず、countLetters置換は"[4letter]"を"days"に追加し、その置換が実行された後、countDigits 置換は "4letter"で"4"を見つけ、それに "[1digit]" を追加します。
<?php function countLetters($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'letter]'; } function countDigits($matches) {   return $matches[0] . '[' . strlen($matches[0]) . 'digit]'; } $input = "365 days"; $patterns = [   '/[a-z]+/i' => 'countLetters',   '/[0-9]+/' => 'countDigits' ]; $result = preg_replace_callback_array($patterns, $input); echo $result; ?>


❮ PHP 正規表現リファレンス


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細