PHP preg_replace() 関数

PHP 正则表达式(PCRE)PHP 正規表現 (PCRE)

preg_replace 関数は正規表現による検索と置換を実行します。

構文

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

subject 内で pattern にマッチする部分を検索し、replacement で置換します。

パラメータの説明:

  • $pattern: 検索するパターンで、文字列または文字列の配列を指定できます。

  • $replacement: 置換に使用する文字列または文字列の配列。

  • $subject: 検索・置換の対象となる文字列または文字列の配列。

  • $limit: オプション。各パターンについて、各 subject 文字列に対して置換を実行する最大回数です。デフォルトは -1(無制限)です。

  • $count: オプション。置換が実行された回数です。

戻り値

subject が配列の場合、preg_replace() は配列を返します。それ以外の場合は文字列を返します。

マッチが見つかった場合は置換後の subject が返されます。それ以外の場合は変更されていない subject が返されます。エラーが発生した場合は NULL が返されます。

例

google を サンプル に置換する

<?php $string = 'google 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'サンプル ${2},$3'; echo preg_replace($pattern, $replacement, $string); ?>

実行結果は次のようになります:

サンプル 123,456

空白文字を削除する

<?php $str = 'runo o b'; $str = preg_replace('/\s+/', '', $str); //'サンプル' に変更されます echo $str; ?>

実行結果は次のようになります:

サンプル

配列インデックスに基づく検索・置換を使用する

<?php $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/'; $replacements = array(); $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, $string); ?>

実行結果は次のようになります:

The bear black slow jumped over the lazy dog.

パラメータ count を使用する

<?php $count = 0; echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count); echo $count; //3 ?>

実行結果は次のようになります:

xp***to
3

PHP 正则表达式(PCRE)PHP 正規表現 (PCRE)

その他の拡張機能