preg_quote

(PHP 4, PHP 5, PHP 7)

preg_quoteProtection des caractères spéciaux des expressions rationnelles

Description

preg_quote ( string $str [, string $delimiter = NULL ] ) : string

preg_quote() ajoute un antislash devant chaque caractère de la chaîne str faisant partie de la syntaxe des expressions régulières. 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 caractère spécial d'expression régulière.

Note:

Notez que preg_quote() n'est pas destiné à être appliqué aux chaînes de caractères $replacement de preg_replace() etc.

Liste de paramètres

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.

Valeurs de retour

Retourne la chaîne protégée.

Historique

Version Description
7.3.0 Le caractère # est maintenant protégé
5.3.0 Le caractère - est maintenant protégé

Exemples

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);
?>

Notes

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

Voir aussi