Fonction preg_replace

La fonction preg_replace recherche dans une chaîne les correspondances avec l'expression régulière et les remplace par la chaîne spécifiée. Le premier paramètre accepte l'expression régulière pour la recherche, le second - la chaîne de remplacement, le troisième - la chaîne source. Il est possible de spécifier en option une limite de remplacements et une variable pour compter les remplacements.

Syntaxe

phppreg_replace(pattern, replacement, subject, [limit], [count]);

Exemple

Remplaçons tous les chiffres dans la chaîne par le symbole 'X' :

php<?php
  $str = 'a1b2c3';
  $res = preg_replace('/\d/', 'X', $str);
  echo $res;
?>

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

php'aXbXcX'

Exemple

Remplaçons seulement les premières 2 correspondances :

php<?php
  $str = 'a1b2c3';
  $res = preg_replace('/\d/', 'X', $str, 2);
  echo $res;
?>

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

php'aXbXc3'

Exemple

Utilisation des références arrière dans le remplacement :

php<?php
  $str = 'Hello World';
  $res = preg_replace('/(\w+)\s(\w+)/', '$2, $1', $str);
  echo $res;
?>

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

php'World, Hello'

Exemple

Comptage du nombre de remplacements effectués :

php<?php
  $str = 'a1b2c3';
  $count = 0;
  $res = preg_replace('/\d/', 'X', $str, -1, $count);
  echo "Result: $res, Replacements: $count";
?>

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

php'Result: aXbXcX, Replacements: 3'

Voir aussi

  • la fonction preg_match,
    qui effectue une recherche par expression régulière
  • la fonction preg_split,
    qui divise une chaîne par expression régulière