preg_quote

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_quoteProtection des caractères spéciaux des expressions régulières

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

VersionDescription
7.3.0 Le caractère # est maintenant protégé
7.2.0delimiter est désormais nullable.

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

To Top