Capture et remplacement



En utilisant la fonction preg_replace on peut automatiquement faire des remplacements à l'aide de regex.


<?php

$texte = preg_replace('#\[b\](.+)\[/b\]#i', '<strong>$1</strong>', $texte);

?>


  • Les parenthèses servent à entourer un bout de la regex pour créer des variables $1$2$3, etc. qui seront utiles pour faire le remplacement.
  • Il peut y avoir jusqu'à 99 parenthèses capturantes, donc jusqu'à $99.
  • (?:texte) est une parenthèse non capturante : elle ne crée pas de variable.
  • Une variable $0 est toujours créée et correspond à l'ensemble de la regex.


Ainsi, la regex suivante…
#(anti)co(?:nsti)(tu(tion)nelle)ment#
… crée les variables suivantes :

  • $0 : anticonstitutionnellement ;
  • $1 : anti ;
  • $2 : tutionnelle ;
  • $3 : tion.

Créé avec HelpNDoc Personal Edition: Apportez vos fichiers d'aide WinHelp HLP dans le présent avec la conversion CHM facile de HelpNDoc