Fonction PHP preg_match_all()
Exemple
Trouver toutes les occurrences de "ain" dans une chaîne :
<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern =
"/ain/i";
if(preg_match_all($pattern, $str, $matches)) {
print_r($matches);
}
?>
Définition et utilisation
La preg_match_all()
fonction renvoie le nombre de correspondances d'un modèle trouvées dans une chaîne et remplit une variable avec les correspondances trouvées.
Syntaxe
preg_match_all(pattern, input, matches, flags, offset)
Valeurs des paramètres
Parameter | Description |
---|---|
pattern | Required. Contains a regular expression indicating what to search for |
input | Required. The string in which the search will be performed |
matches | Optional. The variable used in this parameter will be populated with an array containing all of the matches that were found |
flags | Optional. A set of options that change how the matches array is structured. One of the following structures may be selected:
|
offset | Optional. Defaults to 0. Indicates how far into the string to begin searching. The preg_match() function will not find matches that occur before the position given in this parameter |
Détails techniques
Valeur de retour : | Renvoie le nombre de correspondances trouvées ou false si une erreur s'est produite |
---|---|
Version PHP : | 4+ |
Journal des modifications : | PHP 7.2 - Ajout du drapeau PREG_UNMATCHED_AS_NULL PHP 5.4 - Le paramètre matches est devenu facultatif PHP 5.3.6 - La fonction renvoie false lorsque le décalage est plus long que la longueur de l'entrée PHP 5.2.2 - Les sous-modèles nommés peuvent utiliser le (?'nom' ) et (? <nom>) en plus de la syntaxe précédente (?P<nom>) |
Plus d'exemples
Exemple
Utilisez PREG_PATTERN_ORDER pour définir la structure du tableau de correspondances . Dans cet exemple, chaque élément du tableau matches contient toutes les correspondances pour l'un des groupements de l'expression régulière.
<?php
$str = "abc ABC";
$pattern = "/((a)b)(c)/i";
if(preg_match_all($pattern,
$str, $matches, PREG_PATTERN_ORDER)) {
print_r($matches);
}
?>
❮ Référence PHP RegExp