preg_replace_callback Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback &reftitle.description; stringarraynullpreg_replace_callback stringarraypattern callablecallback stringarraysubject intlimit-1 intcount&null; intflags0 Le comportement de preg_replace_callback est presque identique à celui de preg_replace, hormis le fait qu'à la place du paramètre replacement, il faut spécifier une fonction de rappel callback qui sera appelée, avec les éléments trouvés en arguments. &reftitle.parameters; pattern Le masque à chercher. Il peut être une &string; ou un tableau contenant des chaînes. callback La fonction de rappel qui recevra le tableau d'éléments trouvés dans la chaîne subject. La fonction de rappel doit retourner la chaîne de remplacement. Voici la signature de la fonction de rappel : stringhandler arraymatches Vous aurez souvent besoin de la fonction callback avec preg_replace_callback à un seul endroit. Dans ce cas, vous pouvez simplement utiliser une fonction anonyme pour déclarer une fonction de rappel pour la fonction preg_replace_callback. En faisant cela, vous concentrez toutes les routines liées à votre remplacement à un seul endroit, et vous ne polluez pas votre espace de noms de fonctions avec des fonctions à usage unique. <function>preg_replace_callback</function> et fonction anonyme ") en minuscule $fp = fopen("php://stdin", "r") or die("Impossible de lire la ligne de commande"); while (!feof($fp)) { $line = fgets($fp); $line = preg_replace_callback( '|

\s*\w|', function ($matches) { return strtolower($matches[0]); }, $line ); echo $line; } fclose($fp); ?> ]]> subject La chaîne ou le tableau de chaînes à chercher et à remplacer. limit Le nombre maximal de remplacement pour chaque masque dans chaque chaîne subject. Vaut par défaut -1 (aucune limite). count Si fournie, cette variable sera remplie avec le nombre de remplacements effectués. flags flags peut être une combinaison des drapeaux PREG_OFFSET_CAPTURE et PREG_UNMATCHED_AS_NULL, qui influence le format du tableau de correspondances. Voir la description de preg_match pour plus de détail. &reftitle.returnvalues; preg_replace_callback retourne un tableau si le paramètre subject est un &array;, ou, sinon, une &string;. Si une erreur survient, la valeur retournée sera &null;. Si des correspondances sont trouvées, le nouveau sujet sera retourné, sinon subject sera retourné inchangé. &reftitle.errors; &pcre.pattern.warning; &reftitle.changelog; &Version; &Description; 7.4.0 Le paramètre flags a été ajouté. &reftitle.examples; Exemple avec <function>preg_replace_callback</function> ]]> &example.outputs; Exemple avec <function>preg_replace_callback</function> en utilisant une structure récursive pour gérer du BB code '.$input[1].''; } return preg_replace_callback($regex, 'parseTagsRecursive', $input); } $output = parseTagsRecursive($input); echo $output; ?> ]]> &reftitle.seealso; Masques PCRE preg_replace_callback_array preg_quote preg_replace preg_last_error Les fonctions anonymes