preg_match_all() analyse subject pour trouver l'expression pattern et met les résultats dans matches, dans l'ordre spécifié par order.
Après avoir trouvé un premier résultat, la recherche continue jusqu'à la fin de la chaîne.
order 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..
Cet exemple va afficher : Ainsi, $out[0] est un tableau qui contient les résultats qui satisfont le masque complet, et $out[1] est un tableau qui contient les balises entre > et <.Les résultats sont classés de telle façon que $matches[0] contient la première série de résultat, $matches[1] contient la deuxième série de résultat, etc...
Cet exemple va afficher : Dans ce cas, $matches[0] est la première série de résultat, et $matches[0][0] contient le texte qui satisfait le masque complet, $matches[0][1] contient le texte de la première parenthèse capturante, etc... De même, $matches[1] contient le texte qui satisfait le masque complet, etc...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.
preg_match_all() retourne le nombre de résultat qui satisfont le masque complet, ou FALSE en cas d'échec ou d'erreur.
Voir aussi preg_match(), preg_replace() et preg_split().
Précédent | Sommaire | Suivant |
preg_grep | Niveau supérieur | preg_match |