(PHP 4, PHP 5, PHP 7)
preg_quote — Protection des caractères spéciaux des expressions rationnelles
$str
[, string $delimiter = NULL
] )
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.
Les caractères spéciaux qui seront protégés sont les suivants : . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
strLa chaîne d'entrée.
delimiter
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.
Retourne la chaîne protégée.
| Version | Description |
|---|---|
| 5.3.0 | Le caractère - est maintenant protégé. |
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 italique 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, '/') . "/",
"<i>" . $word . "</i>",
$textbody);
?>
Note: Cette fonction gère les chaînes binaires.