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