Tutoriel PHP

ACCUEIL PHP Introduction PHP Installation PHP Syntaxe PHP Commentaires PHP Variables PHP Écho PHP / Impression Types de données PHP Chaînes PHP Numéros PHP Mathématiques PHP Constantes PHP Opérateurs PHP PHP Si... Sinon... Sinon Commutateur PHP Boucles PHP Fonctions PHP Tableaux PHP Superglobales PHP Expression régulière PHP

Formulaires PHP

Gestion des formulaires PHP Validation de formulaire PHP Formulaire PHP requis URL/courriel du formulaire PHP Formulaire PHP terminé

PHP Avancé

Date et heure PHP Inclure PHP Gestion des fichiers PHP Fichier PHP Ouvrir/Lire Création/écriture de fichier PHP Téléchargement de fichier PHP Cookies PHP Séances PHP Filtres PHP Filtres PHP avancés Fonctions de rappel PHP PHPJSON Exception PHP

POO PHP

PHP Qu'est-ce que la POO Classes/Objets PHP Constructeur PHP Destructeur PHP Modificateurs d'accès PHP Héritage PHP Constantes PHP Classes abstraites PHP Interface PHP Caractéristiques PHP Méthodes statiques PHP Propriétés statiques PHP Espaces de noms PHP Itérables PHP

Base de données MySQL

Base de données MySQL Connexion MySQL Créer une base de données MySQL Créer une table MySQL MySQL Insérer des données MySQL obtenir le dernier ID MySQL Insérer plusieurs MySQL préparé MySQL Sélectionner les données MySQL Où Trier MySQL par MySQL Supprimer les données Données de mise à jour MySQL Données de limite MySQL

XML PHP

Analyseurs PHP XML Analyseur PHP SimpleXML PHP SimpleXML - Obtenir Expatriation PHP XML PHP XML DOM

PHP -AJAX

Introduction à AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en direct AJAX Sondage AJAX

Exemples PHP

Exemples PHP Compilateur PHP Questionnaire PHP Exercices PHP Certificat PHP

Référence PHP

Présentation de PHP Tableau PHP Calendrier PHP Date PHP Annuaire PHP Erreur PHP Exception PHP Système de fichiers PHP Filtre PHP FTP PHP PHPJSON Mots clés PHP PHP LibxmlComment Messagerie PHP Mathématiques PHP Divers PHP PHP MySQL Réseau PHP Contrôle de sortie PHP Expression régulière PHP PHP SimpleXML Flux PHP Chaîne PHP Gestion des variables PHP Analyseur PHP XML Code postal PHP Fuseaux horaires PHP

Expressions régulières PHP


Qu'est-ce qu'une expression régulière ?

Une expression régulière est une séquence de caractères qui forme un modèle de recherche. Lorsque vous recherchez des données dans un texte, vous pouvez utiliser ce modèle de recherche pour décrire ce que vous recherchez.

Une expression régulière peut être un caractère unique ou un modèle plus compliqué.

Les expressions régulières peuvent être utilisées pour effectuer tous les types d'opérations de recherche et de remplacement de texte.


Syntaxe

En PHP, les expressions régulières sont des chaînes composées de délimiteurs, d'un motif et de modificateurs facultatifs.

$exp = "/w3schools/i";

Dans l'exemple ci-dessus, /est le délimiteur , w3schools est le modèle recherché et iest un modificateur qui rend la recherche insensible à la casse.

Le délimiteur peut être n'importe quel caractère autre qu'une lettre, un chiffre, une barre oblique inverse ou un espace. Le délimiteur le plus courant est la barre oblique (/), mais lorsque votre modèle contient des barres obliques, il est pratique de choisir d'autres délimiteurs tels que # ou ~.


Fonctions d'expression régulière

PHP fournit une variété de fonctions qui vous permettent d'utiliser des expressions régulières. Les fonctions preg_match(), preg_match_all()et preg_replace()sont parmi les plus couramment utilisées :

Function Description
preg_match() Returns 1 if the pattern was found in the string and 0 if not
preg_match_all() Returns the number of times the pattern was found in the string, which may also be 0
preg_replace() Returns a new string where matched patterns have been replaced with another string

Utilisation de preg_match()

La preg_match()fonction vous dira si une chaîne contient des correspondances d'un modèle.

Exemple

Utilisez une expression régulière pour effectuer une recherche insensible à la casse pour "w3schools" dans une chaîne :

<?php
$str = "Visit W3Schools";
$pattern = "/w3schools/i";
echo preg_match($pattern, $str); // Outputs 1
?>

Utilisation de preg_match_all()

La preg_match_all()fonction vous dira combien de correspondances ont été trouvées pour un motif dans une chaîne.

Exemple

Utilisez une expression régulière pour faire un décompte insensible à la casse du nombre d'occurrences de "ain" dans une chaîne :

<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

Utilisation de preg_replace()

La preg_replace()fonction remplacera toutes les correspondances du modèle dans une chaîne par une autre chaîne.

Exemple

Utilisez une expression régulière insensible à la casse pour remplacer Microsoft par W3Schools dans une chaîne :

<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "W3Schools", $str); // Outputs "Visit W3Schools!"
?>


Modificateurs d'expression régulière

Les modificateurs peuvent changer la façon dont une recherche est effectuée.

Modifier Description
i Performs a case-insensitive search
m Performs a multiline search (patterns that search for the beginning or end of a string will match the beginning or end of each line)
u Enables correct matching of UTF-8 encoded patterns

Modèles d'expressions régulières

Les parenthèses sont utilisées pour trouver une plage de caractères :

Expression Description
[abc] Find one character from the options between the brackets
[^abc] Find any character NOT between the brackets
[0-9] Find one character from the range 0 to 9

Métacaractères

Les métacaractères sont des caractères ayant une signification particulière :

Metacharacter Description
| Find a match for any one of the patterns separated by | as in: cat|dog|fish
. Find just one instance of any character
^ Finds a match as the beginning of a string as in: ^Hello
$ Finds a match at the end of the string as in: World$
\d Find a digit
\s Find a whitespace character
\b Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b
\uxxxx Find the Unicode character specified by the hexadecimal number xxxx

Quantificateurs

Les quantificateurs définissent les quantités :

Quantifier Description
n+ Matches any string that contains at least one n
n* Matches any string that contains zero or more occurrences of n
n? Matches any string that contains zero or one occurrences of n
n{x} Matches any string that contains a sequence of X n's
n{x,y} Matches any string that contains a sequence of X to Y n's
n{x,} Matches any string that contains a sequence of at least X n's

Remarque : Si votre expression doit rechercher l'un des caractères spéciaux, vous pouvez utiliser une barre oblique inverse ( \ ) pour les échapper. Par exemple, pour rechercher un ou plusieurs points d'interrogation, vous pouvez utiliser l'expression suivante : $pattern = '/\?+/';


Regroupement

Vous pouvez utiliser des parenthèses ( )pour appliquer des quantificateurs à des modèles entiers. Ils peuvent également être utilisés pour sélectionner des parties du motif à utiliser comme correspondance.

Exemple

Utilisez le regroupement pour rechercher le mot "banane" en recherchant ba suivi de deux instances de na :

<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Outputs 1
?>

Référence RegExp complète

Pour une référence complète, consultez notre Référence complète des expressions régulières PHP .

La référence contient des descriptions et des exemples de toutes les fonctions d'expression régulière.