Fonction preg_replace_callback() de PHP

PHP 正则表达式(PCRE)Expressions régulières PHP (PCRE)

La fonction preg_replace_callback() effectue une recherche par expression régulière et utilise une fonction de rappel pour effectuer le remplacement.

Syntaxe

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

À l'exception du fait qu'une fonction de rappel peut être spécifiée à la place du remplacement pour calculer la chaîne de remplacement, cette fonction est équivalente à preg_replace() à tous les autres égards.

Description du paramètre :

  • $pattern : Le motif à rechercher. Il peut être une chaîne de caractères ou un tableau de chaînes de caractères.

  • $callback : Une fonction de rappel qui est appelée chaque fois qu'un remplacement est nécessaire. La fonction reçoit les résultats correspondants de subject.

  • $subject : La chaîne cible ou un tableau de chaînes à rechercher et remplacer.

  • $limit : Facultatif. Le nombre maximal de remplacements possibles pour chaque motif dans chaque chaîne subject. La valeur par défaut est -1 (aucune limite).

  • $count : Facultatif. Le nombre de fois que le remplacement est effectué.

Valeur de retour

Si subject est un tableau, preg_replace_callback() renvoie un tableau ; sinon, elle renvoie une chaîne. En cas d'erreur, elle renvoie NULL.

Si une correspondance est trouvée, la chaîne cible remplacée (ou un tableau de chaînes) est renvoyée. Sinon, subject est renvoyé inchangé.

Exemples

Exemple 1

<?php //Augmentez l'année dans le texte d'un an. $text = "Le poisson d'avril est le 04/01/2002\n"; $text.= "Noël dernier était le 12/24/2001\n"; //Fonction de rappel function next_year($matches) { //Habituellement : $matches //$matches //et ainsi de suite return $matches[1].($matches[2]+1); } echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text); ?>

Le résultat de l'exécution est le suivant :

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

PHP 正则表达式(PCRE)Expressions régulières PHP (PCRE)

Autres extensions