Funkcija preg_replace_callback
Funkcija preg_replace_callback izvršava pretragu po regularnom izrazu i zamenu koristeći callback-funkciju. Prvi parametar prihvata regularni izraz, drugi - callback-funkciju, a treći - string za obradu. Callback-funkcija dobija niz podudaranja i treba da vrati string zamene.
Sintaksa
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Primer
Zamenimo sve brojeve u stringu njihovim kvadratima:
<?php
$str = 'Brojevi: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Rezultat izvršavanja koda:
'Brojevi: 4, 16, 36'
Primer
Pretvorimo sve reči u velika slova:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Rezultat izvršavanja koda:
'HELLO WORLD'
Primer
Dodajmo zagrade oko svakog broja:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Rezultat izvršavanja koda:
'(1) (2) (3) (4) (5)'
Pogledajte takođe
-
funkciju
preg_replace,
koja izvršava zamenu po regularnom izrazu -
funkciju
preg_match,
koja izvršava pretragu po regularnom izrazu