PHP preg_replace_callback()-Funktion

PHP 正则表达式(PCRE)PHP Reguläre Ausdrücke (PCRE)

Die Funktion preg_replace_callback() führt eine Suche mit einem regulären Ausdruck durch und verwendet einen Callback, um die Ersetzung vorzunehmen.

Syntax

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

Abgesehen davon, dass anstelle von replacement ein Callback angegeben werden kann, um die Ersetzungszeichenfolge zu berechnen, ist diese Funktion in allen anderen Aspekten äquivalent zu preg_replace().

Parameter description:

  • $pattern: Das Muster, nach dem gesucht werden soll. Es kann eine Zeichenkette oder ein Array von Zeichenketten sein.

  • $callback: Eine Callback-Funktion, die jedes Mal aufgerufen wird, wenn eine Ersetzung benötigt wird. Die Funktion erhält die übereinstimmenden Ergebnisse von subject.

  • $subject: Die Zielzeichenkette oder ein Array von Zeichenketten zum Durchsuchen und Ersetzen.

  • $limit: Optional. Die maximal möglichen Ersetzungen für jedes Muster in jeder subject-Zeichenfolge. Der Standardwert ist -1 (keine Begrenzung).

  • $count: Optional. Die Anzahl, wie oft die Ersetzung durchgeführt wird.

Rückgabewert

Wenn subject ein Array ist, gibt preg_replace_callback() ein Array zurück; andernfalls gibt es eine Zeichenfolge zurück. Bei einem Fehler gibt es NULL zurück.

Wenn eine Übereinstimmung gefunden wird, wird die ersetzte Zielzeichenfolge (oder ein Array von Zeichenfolgen) zurückgegeben. Andernfalls wird subject unverändert zurückgegeben.

Beispiele

Beispiel 1

<?php //Erhöhe das Jahr im Text um ein Jahr. $text = "Aprilscherz ist am 04/01/2002\n"; $text.= "Letztes Weihnachten war am 12/24/2001\n"; //Callback-Funktion function next_year($matches) { //Üblicherweise: $matches //$matches //und so weiter return $matches[1].($matches[2]+1); } echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text); ?>

Das Ausführungsergebnis ist wie folgt:

April fools day is 04/01/2003
Last christmas was 12/24/2002

PHP 正则表达式(PCRE)PHP Reguläre Ausdrücke (PCRE)

Andere Erweiterungen