205 of 410 menu

Fonction preg_replace_callback_array

La fonction preg_replace_callback_array permet d'effectuer de multiples remplacements dans une chaîne en utilisant différentes fonctions de rappel pour chaque expression régulière. Le premier paramètre de la fonction accepte un tableau associatif, où les clés sont les expressions régulières et les valeurs sont les fonctions de rappel. Le deuxième paramètre est la chaîne à traiter.

Syntaxe

preg_replace_callback_array(array $patterns_and_callbacks, string $subject): string

Exemple

Remplaçons les nombres par leurs carrés, et les lettres minuscules par des majuscules :

<?php $str = 'a1b2c3'; $res = preg_replace_callback_array([ '/\d+/' => function($matches) { return $matches[0] * $matches[0]; }, '/[a-z]/' => function($matches) { return strtoupper($matches[0]); } ], $str); echo $res; ?>

Résultat de l'exécution du code :

'A1B4C9'

Exemple

Transformons les dates d'un format à un autre et mettons les nombres en gras :

<?php $text = 'Date: 2023-05-15'; $res = preg_replace_callback_array([ '/(\d{4})-(\d{2})-(\d{2})/' => function($matches) { return $matches[3].'.'.$matches[2].'.'.$matches[1]; }, '/\d+/' => function($matches) { return '<b>'.$matches[0].'</b>'; } ], $text); echo $res; ?>

Résultat de l'exécution du code :

'Date: <b>15</b>.<b>05</b>.<b>2023</b>'

Voir aussi

  • la fonction preg_replace_callback,
    qui effectue un remplacement avec une seule fonction de rappel
  • la fonction preg_replace,
    qui effectue un remplacement par une expression régulière
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser