(PHP 4, PHP 5, PHP 7)
preg_quote — Protection des caractères spéciaux des expressions rationnelles
$str
[, string $delimiter = NULL
] ) : string
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 : . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #
Notez que / n'est pas un charactère spécial d'expression régulière.
Note:
Notez que preg_quote() n'est pas destiné à être appliqué aux chaînes de charactères $replacement de preg_replace() etc.
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 |
|---|---|
| 7.3.0 | Le caractère # est maintenant protégé |
| 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.