Функция 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 = 'салом дунё';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Коднинг ишлаш натижаси:
'САЛОМ ДУНЁ'
Мисол
Ҳар бир сон атрофига қавс қўямиз:
<?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функцияси,
регуляр ифода асосида излашни бажаради