Funktionen preg_replace_callback
Funktionen preg_replace_callback utför sökning med reguljärt uttryck och ersättning med användning av en callback-funktion. Den tar det reguljära uttrycket som första parameter, callback-funktionen som andra parameter och strängen som ska bearbetas som tredje parameter. Callback-funktionen tar emot en array med träffar och ska returnera en ersättningssträng.
Syntax
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Exempel
Låt oss ersätta alla nummer i strängen med deras kvadrater:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Resultat av kodkörning:
'Numbers: 4, 16, 36'
Exempel
Låt oss omvandla alla ord till versaler:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Resultat av kodkörning:
'HELLO WORLD'
Exempel
Låt oss lägga till parenteser runt varje nummer:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Resultat av kodkörning:
'(1) (2) (3) (4) (5)'
Se även
-
funktionen
preg_replace,
som utför ersättning med reguljärt uttryck -
funktionen
preg_match,
som utför sökning med reguljärt uttryck