Funkcia preg_replace_callback
Funkcia preg_replace_callback vykonáva vyhľadávanie pomocou regulárneho výrazu a nahradzovanie s použitím callback funkcie. Prvým parametrom prijíma regulárny výraz, druhým - callback funkciu, a tretím - reťazec na spracovanie. Callback funkcia prijíma pole zhôd a musí vrátiť reťazec náhrady.
Syntax
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Príklad
Nahradíme všetky čísla v reťazci ich štvorcami:
<?php
$str = 'Čísla: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Výsledok vykonania kódu:
'Čísla: 4, 16, 36'
Príklad
Pretransformujeme všetky slová na veľké písmená:
<?php
$str = 'ahoj svet';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Výsledok vykonania kódu:
'AHOJ SVET'
Príklad
Pridáme zátvorky okolo každého čísla:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Výsledok vykonania kódu:
'(1) (2) (3) (4) (5)'
Pozrite si aj
-
funkciu
preg_replace,
ktorá vykonáva nahradzovanie pomocou regulárneho výrazu -
funkciu
preg_match,
ktorá vykonáva vyhľadávanie pomocou regulárneho výrazu