preg_match_all() analyse subject
pour trouver l'expression pattern
et met les résultats dans matches
,
dans l'ordre spécifié par flags
.
Après avoir trouvé un premier résultat, la recherche continue jusqu'à la fin de la chaîne.
flags
peut prendre une des deux valeurs suivantes
(notez bien qu'il est incohérent d'utiliser
PREG_PATTERN_ORDER avec
PREG_SET_ORDER ) :
L'ordre est tel que $matches[0]
est un tableau qui
contient les résultats qui satisfont le masque
complet, $matches[1]
est un tableau qui contient les
résultats qui satisfont la première
parenthèse capturante, etc.
Les résultats sont classés de telle
façon que $matches[0]
contient la première
série de résultats, $matches[1]
contient la
deuxième, etc.
Exemple 2. Exemple avec preg_match_all() et PREG_SET_ORDER
L'exemple ci-dessus va afficher :
Dans ce cas, |
Si cette option est activée, toutes les sous-chaînes qui satisfont
le masque seront aussi identifiées par leur offset. Notez que cela
modifie le format de la valeur retournée, puisque chaque élément
de réponse devient un tableau contenant la sous-chaîne résultat,
à l'index 0 dans la chaîne subject
constant 1. Cette option a été ajoutée en PHP 4.3.0 .
Si order
est omis,
PREG_PATTERN_ORDER est utilisé par défaut.
Normalement, la recherche commence au début de la chaîne
subject
. Le paramètre optionnel
offset
peut être utilisé pour spécifier
une position pour le début de la recherche.
Le paramètre offset
a été introduit
depuis la version 4.3.3 de PHP.
Note : Utiliser le paramètre
offset
ne revient pas à passer substr($subject, $offset) à preg_match_all() à la place de la chaînesubject
, carpattern
peut contenir des assertions comme ^, $ ou (?<=x). Lisez la documentation sur la fonction preg_match() pour des exemples.
preg_match_all() retourne le nombre de résultats qui satisfont le masque complet, ou FALSE en cas d'échec ou d'erreur.
Exemple 4. Recherche les couples de balises HTML (gourmand)
L'exemple ci-dessus va afficher :
|
Voir aussi preg_match(), preg_replace() et preg_split().
Précédent | Sommaire | Suivant |
preg_last_error | Niveau supérieur | preg_match |