Funktsioon preg_replace_callback
Funktsioon preg_replace_callback teostab otsingu regulaaravaldise abil ja asendamise kasutades tagasikutsefunktsiooni. Esimesena võtab parameetriks regulaaravaldise, teiseks - tagasikutsefunktsiooni ja kolmandaks - töödeldava stringi. Tagasikutsefunktsioon saab vastete massiivi ja peab tagastama asendusstringi.
Süntaks
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Näide
Asendame kõik numbrid stringis nende ruutudega:
<?php
$str = 'Numbrid: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Koodi täitmise tulemus:
'Numbrid: 4, 16, 36'
Näide
Teisendame kõik sõnad suurteks tähtedeks:
<?php
$str = 'tere maailm';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Koodi täitmise tulemus:
'TERE MAAILM'
Näide
Lisame iga numbri ümber sulud:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Koodi täitmise tulemus:
'(1) (2) (3) (4) (5)'
Vaata ka
-
funktsiooni
preg_replace,
mis teostab asendamise regulaaravaldise abil -
funktsiooni
preg_match,
mis teostab otsingu regulaaravaldise abil