Функција 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,
која извршува пребарување со регуларен израз