Funkcija preg_replace_callback
Funkcija preg_replace_callback izvaja iskanje z regularnim izrazom in zamenjavo z uporabo callback funkcije. Prvi parameter sprejme regularni izraz, drugi - callback funkcijo, tretji pa niz za obdelavo. Callback funkcija prejme tabelo ujemanj in mora vrniti nadomestni niz.
Sintaksa
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Primer
Zamenjajmo vse številke v nizu z njihovimi kvadrati:
<?php
$str = 'Številke: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Rezultat izvajanja kode:
'Številke: 4, 16, 36'
Primer
Pretvorimo vse besede v velike črke:
<?php
$str = 'zdravo svet';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Rezultat izvajanja kode:
'ZDRAVO SVET'
Primer
Dodajmo oklepaje okoli vsake številke:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Rezultat izvajanja kode:
'(1) (2) (3) (4) (5)'
Glejte tudi
-
funkcijo
preg_replace,
ki izvaja zamenjavo z regularnim izrazom -
funkcijo
preg_match,
ki izvaja iskanje z regularnim izrazom