Funktion preg_replace_callback
Die Funktion preg_replace_callback
führt eine Suche mittels regulärem Ausdruck und Ersetzung unter Verwendung einer Callback-Funktion durch. Der erste Parameter akzeptiert den regulären Ausdruck, der zweite - die Callback-Funktion und der dritte - die zu verarbeitende Zeichenkette. Die Callback-Funktion erhält ein Array der Übereinstimmungen und muss eine Ersetzungszeichenkette zurückgeben.
Syntax
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Beispiel
Ersetzen wir alle Zahlen in der Zeichenkette durch ihre Quadrate:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Ergebnis der Codeausführung:
'Numbers: 4, 16, 36'
Beispiel
Wandeln wir alle Wörter in Großbuchstaben um:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Ergebnis der Codeausführung:
'HELLO WORLD'
Beispiel
Fügen wir Klammern um jede Zahl hinzu:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Ergebnis der Codeausführung:
'(1) (2) (3) (4) (5)'
Siehe auch
-
die Funktion
preg_replace
,
die eine Ersetzung mittels regulärem Ausdruck durchführt -
die Funktion
preg_match
,
die eine Suche mittels regulärem Ausdruck durchführt