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функциясын,
ол регулярды өрнек бойынша іздестіруді орындайды