Функцыя preg_replace_callback
Функцыя preg_replace_callback
выконвае пошук па рэгулярным выразе і замену з выкарыстаннем зваротнай функцыі. Першым параметрам прымае рэгулярны выраз, другім - зваротную функцыю, а трэцім - радок для апрацоўкі. Зваротная функцыя атрымлівае масіў супадзенняў і павінна вяртаць радок замены.
Сінтаксіс
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Прыклад
Замянім усе лікі ў радку на іх квадраты:
<?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
,
якая выконвае пошук па рэгулярным выразе