Funkcija preg_replace_callback
Funkcija preg_replace_callback atlieka paiešką pagal reguliariąją išraišką ir pakeitimą naudojant callback funkciją. Pirmu parametru priima reguliariąją išraišką, antru - callback funkciją, o trečiu - apdorojimui skirtą eilutę. Callback funkcija gauna atitikimų masyvą ir turi grąžinti pakeitimo eilutę.
Sintaksė
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Pavyzdys
Pakeiskime visus skaičius eilutėje jų kvadratais:
<?php
$str = 'Skaičiai: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Kodo vykdymo rezultatas:
'Skaičiai: 4, 16, 36'
Pavyzdys
Paverskime visus žodžius didžiosiomis raidėmis:
<?php
$str = 'labas pasauli';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Kodo vykdymo rezultatas:
'LABAS PASAULI'
Pavyzdys
Pridėkime skliaustus aplink kiekvieną skaičių:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Kodo vykdymo rezultatas:
'(1) (2) (3) (4) (5)'
Taip pat žiūrėkite
-
funkciją
preg_replace,
kuri atlieka pakeitimą pagal reguliariąją išraišką -
funkciją
preg_match,
kuri atlieka paiešką pagal reguliariąją išraišką