204 of 410 menu

Fonction preg_replace_callback

La fonction preg_replace_callback effectue une recherche par expression régulière et un remplacement en utilisant une fonction de callback. Elle accepte comme premier paramètre une expression régulière, comme deuxième - une fonction de callback, et comme troisième - une chaîne à traiter. La fonction de callback reçoit un tableau des correspondances et doit retourner une chaîne de remplacement.

Syntaxe

preg_replace_callback(pattern, callback, subject, [limit], [count]);

Exemple

Remplaçons tous les nombres dans la chaîne par leurs carrés :

<?php $str = 'Numbers: 2, 4, 6'; $res = preg_replace_callback('/\d+/', function($matches) { return $matches[0] * $matches[0]; }, $str); echo $res; ?>

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

'Numbers: 4, 16, 36'

Exemple

Convertissons tous les mots en majuscules :

<?php $str = 'hello world'; $res = preg_replace_callback('/\b\w+\b/', function($matches) { return strtoupper($matches[0]); }, $str); echo $res; ?>

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

'HELLO WORLD'

Exemple

Ajoutons des parenthèses autour de chaque nombre :

<?php $str = '1 2 3 4 5'; $res = preg_replace_callback('/\d+/', function($matches) { return '('.$matches[0].')'; }, $str); echo $res; ?>

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

'(1) (2) (3) (4) (5)'

Voir aussi

  • la fonction preg_replace,
    qui effectue un remplacement par expression régulière
  • la fonction preg_match,
    qui effectue une recherche par 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