PHP preg_replace() 関数
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 を サンプル に置換する
$string = 'google 123, 456';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = 'サンプル ${2},$3';
echo preg_replace($pattern, $replacement, $string);
実行結果は次のようになります:
サンプル 123,456
空白文字を削除する
$str = 'runo o b';
$str = preg_replace('/\s+/', '', $str);
//'サンプル' に変更されます
echo $str;
実行結果は次のようになります:
サンプル
配列インデックスに基づく検索・置換を使用する
$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 を使用する
$count = 0;
echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
実行結果は次のようになります:
xp***to 3その他の拡張機能
PHP 正規表現 (PCRE)