A preg_replace_callback függvény
A preg_replace_callback függvény reguláris kifejezéssel keres és cserél callback függvény segítségével. Az első paramétere a reguláris kifejezés, a második a callback függvény, a harmadik pedig a feldolgozandó sztring. A callback függvény a találatok tömbjét kapja meg, és egy csere-sztringet kell visszaadnia.
Szintaxis
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Példa
Cseréljük ki a sztringben lévő összes számot a négyzetükre:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
A kód végrehajtásának eredménye:
'Numbers: 4, 16, 36'
Példa
Alakítsuk át az összes szót nagybetűssé:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
A kód végrehajtásának eredménye:
'HELLO WORLD'
Példa
Adjunk zárójelet minden szám köré:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
A kód végrehajtásának eredménye:
'(1) (2) (3) (4) (5)'
Lásd még
-
a
preg_replacefüggvényt,
amely reguláris kifejezéssel végez cserét -
a
preg_matchfüggvényt,
amely reguláris kifejezéssel végez keresést