Fonction preg_match() de PHP
Expressions régulières PHP (PCRE)
La fonction preg_match sert à effectuer une correspondance avec une expression régulière.
Syntaxe
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
Recherche dans subject une correspondance avec l'expression régulière donnée par pattern.
Description du paramètre :
$pattern : Le motif à rechercher, sous forme de chaîne.
$subject : La chaîne d'entrée.
$matches : Si le paramètre matches est fourni, il sera rempli avec les résultats de la recherche. $matches
$flags : les flags peuvent être définis sur les valeurs de flag suivantes :
PREG_OFFSET_CAPTURE : Si ce flag est passé, pour chaque occurrence d'une correspondance, le décalage de chaîne (relatif à la chaîne cible) sera ajouté. Remarque : Cela modifie le tableau rempli dans le paramètre matches, en faisant de chaque élément un tableau où l'élément d'indice 0 est la chaîne correspondante et l'élément d'indice 1 est le décalage de cette chaîne correspondante dans la chaîne cible subject.
offset : Habituellement, la recherche commence au début de la chaîne cible. Le paramètre facultatif offset est utilisé pour spécifier le début de la recherche à partir d'une certaine position dans la chaîne cible (en octets).
Valeur de retour
Renvoie le nombre de correspondances pour pattern. Sa valeur sera 0 (aucune correspondance) ou 1, car preg_match() arrête la recherche après la première correspondance. preg_match_all() est différent ; il continue à rechercher subject jusqu'à atteindre la fin. Si une erreur se produit, preg_match() renvoie FALSE.
Exemples
Rechercher la chaîne de texte "php" :
Le résultat de l'exécution est le suivant :
查找到匹配的字符串 php.
Rechercher le mot "web"
Le résultat de l'exécution est le suivant :
Matching string found.
Obtenir le nom de domaine à partir de l'URL
Le résultat de l'exécution est le suivant :
domain name is: example.com
Utilisation des sous-groupes nommés
Le résultat de l'exécution est le suivant :
Array
(
[0] => foobar: 2008
[name] => foobar
[1] => foobar
[digit] => 2008
[2] => 2008
)
Autres extensions