preg_quote

(PHP 3>= 3.0.9, PHP 4 )

preg_quote --  Echappement des caractères spéciaux des expressions régulières.

Description

string preg_quote ( string str [, string delimiter])

preg_quote() ajoute un antislash devant tous les caractères de la chaîne str. Cela est très utile si vous avez une chaîne qui va servir de masque, mais qui est générée durant l'exécution.

Si l'argument optionnel delimiter est fourni, il sera aussi échappé. Ceci est pratique pour échapper le délimiteur requis par les fonctions PCRE. Le slash / est le délimiteur le plus répandu.

Les caractères spéciaux qui seront échappés :
. \\ + * ? [ ^ ] $ ( ) { } = ! < > | :

Exemple 1. Protège des caractères spéciaux

<?php
  $keywords
= "$40 pour un g3/400";
  
$keywords = preg_quote ($keywords, "/");
  echo
$keywords;
  
// retourne \$40 pour un g3\/400
?>

Exemple 2. Mise en italique d'un mot dans un texte

<?php
// Dans cet exemple, preg_quote($word) sert &agrave; &eacute;viter que les ast&eacute;risques
// prennent une valeur particuli&egrave;re dans l'exepression r&eacute;guli&egrave;re.
$textbody = "Ce livre est *tr&egrave;s* difficile &agrave; trouver.";
$word = "*tr&egrave;s*";
$textbody = preg_replace ("/".preg_quote($word)."/",
                          
"<B>".$word."</B>",
                          
$textbody);
?>