W3docs

preg_quote

En PHP, preg_quote() échappe les caractères spéciaux d'une chaîne pour les utiliser en toute sécurité dans un modèle d'expression régulière.

preg_quote

Introduction

En PHP, les expressions régulières sont un outil essentiel pour manipuler et rechercher des chaînes de caractères. La fonction preg_quote() fait partie des nombreuses fonctions que PHP propose pour travailler avec les expressions régulières. Elle échappe les caractères spéciaux d'une chaîne afin qu'ils puissent être utilisés en toute sécurité dans un modèle regex. Cet article couvre la fonction preg_quote() en détail et montre comment l'utiliser efficacement.

Comprendre la fonction preg_quote()

La fonction preg_quote() en PHP échappe les caractères d'expression régulière dans une chaîne et retourne la chaîne ainsi modifiée. La syntaxe d'utilisation de la fonction preg_quote() est la suivante :

Comprendre la fonction preg_quote()

preg_quote($str, $delimiter);

Ici, $str est la chaîne à échapper, et $delimiter est un paramètre optionnel qui précise le caractère délimiteur à utiliser. Si $delimiter est spécifié, il sera également échappé. Notez que la fonction retourne toujours une chaîne. En PHP 8.1+, passer une valeur non-chaîne à $str déclenche un avertissement de dépréciation.

Exemple d'utilisation

Examinons un exemple pour comprendre l'utilisation de la fonction preg_quote() en PHP :

Exemple d'utilisation de PHP preg_quote()

<?php

$user_input = 'This is a test';
$delimiter = '/';

// Quote the string to safely embed it in a regex pattern
$quoted_input = preg_quote($user_input, $delimiter);

// Build the pattern
$pattern = $delimiter . '^' . $quoted_input . '$' . $delimiter;

if (preg_match($pattern, $user_input)) {
  echo 'Match found.';
} else {
  echo 'No match found.';
}

Dans l'exemple ci-dessus, nous prenons une chaîne et utilisons preg_quote() pour échapper tous les métacaractères regex qu'elle pourrait contenir. Nous intégrons ensuite la chaîne échappée dans un modèle regex. Cela garantit que des caractères tels que ^, $ ou . sont traités comme des caractères littéraux plutôt que comme des opérateurs regex. Si une correspondance est trouvée, nous affichons "Match found." Sinon, nous affichons "No match found."

Conclusion

La fonction preg_quote() est un moyen fiable d'échapper les caractères spéciaux d'une chaîne pour les utiliser en toute sécurité dans des expressions régulières. Elle est particulièrement utile lors de la construction dynamique de modèles à partir de données saisies par l'utilisateur ou de sources externes. En utilisant preg_quote(), les développeurs peuvent éviter les comportements regex inattendus et s'assurer que les modèles correspondent exactement comme prévu. Nous espérons que cet aperçu clarifie la manière d'utiliser preg_quote() dans vos projets PHP.

Pratique

Pratique
Que fait la fonction preg_quote() en PHP ?
Que fait la fonction preg_quote() en PHP ?
Was this page helpful?