Funktio preg_replace_callback
Funktio preg_replace_callback suorittaa haun säännöllisellä lausekkeella ja korvauksen käyttäen callback-funktiota. Ensimmäisenä parametrina se vastaanottaa säännöllisen lausekkeen, toisena - callback-funktion, ja kolmantena - käsiteltävän merkkijonon. Callback-funktio vastaanottaa osumien taulukon ja sen tulee palauttaa korvausmerkkijono.
Syntaksi
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Esimerkki
Korvataan kaikki numerot merkkijonossa niiden neliöillä:
<?php
$str = 'Numerot: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Koodin suorituksen tulos:
'Numerot: 4, 16, 36'
Esimerkki
Muunnetaan kaikki sanat suuraakkosiksi:
<?php
$str = 'hei maailma';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Koodin suorituksen tulos:
'HEI MAAILMA'
Esimerkki
Lisätään sulkeet jokaisen numeron ympärille:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Koodin suorituksen tulos:
'(1) (2) (3) (4) (5)'
Katso myös
-
funktion
preg_replace,
joka suorittaa korvauksen säännöllisellä lausekkeella -
funktion
preg_match,
joka suorittaa haun säännöllisellä lausekkeella