(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 : . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
str
La 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.