関数 preg_replace_callback
関数 preg_replace_callback は、正規表現による検索とコールバック関数を使用した置換を実行します。最初のパラメータは正規表現、2番目はコールバック関数、3番目は処理対象の文字列を受け取ります。コールバック関数は一致の配列を受け取り、置換文字列を返す必要があります。
構文
preg_replace_callback(pattern, callback, subject, [limit], [count]);
例
文字列内のすべての数字をその2乗に置き換えます:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
コード実行結果:
'Numbers: 4, 16, 36'
例
すべての単語を大文字に変換します:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
コード実行結果:
'HELLO WORLD'
例
各数字の周りに括弧を追加します:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
コード実行結果:
'(1) (2) (3) (4) (5)'
関連項目
-
関数
preg_replace,
正規表現による置換を実行します -
関数
preg_match,
正規表現による検索を実行します