Функција preg_replace_callback
Функција preg_replace_callback извршава претрагу регуларним изразом и замену користећи callback-функцију. Први параметар прима регуларни израз, други - callback-функцију, а трећи - стринг за обраду. Callback-функција добија низ подударања и мора да врати стринг замене.
Синтакса
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Пример
Замењујемо све бројеве у стрингу њиховим квадратима:
<?php
$str = 'Бројеви: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Резултат извршавања кода:
'Бројеви: 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,
која извршава претрагу регуларним изразом