Funktionen preg_replace_callback
Funktionen preg_replace_callback udfører en søgning med regulært udtryk og erstatning ved hjælp af en callback-funktion. Den tager et regulært udtryk som første parameter, en callback-funktion som anden parameter og en streng til behandling som tredje parameter. Callback-funktionen modtager et array med matches og skal returnere en erstatningsstreng.
Syntaks
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Eksempel
Lad os erstatte alle tal i strengen med deres kvadrater:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Resultat af kodeudførelse:
'Numbers: 4, 16, 36'
Eksempel
Lad os konvertere alle ord til store bogstaver:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Resultat af kodeudførelse:
'HELLO WORLD'
Eksempel
Lad os tilføje parenteser omkring hvert tal:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Resultat af kodeudførelse:
'(1) (2) (3) (4) (5)'
Se også
-
funktionen
preg_replace,
som udfører erstatning med regulært udtryk -
funktionen
preg_match,
som udfører søgning med regulært udtryk