preg_quote

(PHP 3>= 3.0.9, PHP 4 , PHP 5)

preg_quote --  Echappement des caractères spéciaux des expressions rationnelles

Description

string preg_quote ( string str [, string delimiter] )

preg_quote() ajoute un anti-slash 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. Exemple avec preg_quote()

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

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

<?php
// Dans cet exemple, preg_quote($word) sert à éviter que les astérisques
// prennent une valeur particulière dans l'expression rationnelle.

$textbody = 'Ce livre est *très* difficile à trouver.';
$word = '*très*';
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          
"<strong>" . $word . "</strong>",
                          
$textbody);
?>

Note : Cette fonction gère les chaînes binaires