Функсияи 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,
ки ҷустуҷӯро бо истифода аз ифодаи муқаррарӣ иҷро мекунад