Comment utiliser une expression régulière pour analyser XML?Utilisation de PHP regex pour analyser XML
Supposons que nous avons les éléments suivants:
$string = '<z>1a<z>2b</z>3c<z>4d</z>5e</z>';
preg_match_all('/<z>(.+)<\/z>/', $string, $result_a);
preg_match_all('/<z>(.+)<\/z>/U', $string, $result_b);
preg_match_all($regex, $string, $result_x);
Si j'exécuter cela, alors $ result_a aura la chaîne (parmi les éléments du tableau):
'1a<z>2b</z>3c<z>4d</z>5e'
En outre, la variable result_b de $ aura les cordes (parmi les éléments du tableau):
'1a<z>2b'
'4d'
maintenant, je veux $result_x
pour avoir '2b' et '4d' séparément, parmi les éléments du tableau.
À quoi devrait ressembler $regex
?
Merci d'avance !!!
L'utilisation de cette expression rationnelle génère le même résultat que le second que j'ai décrit dans l'exemple. – busce11
@ busce11: voir ma réponse éditée. – Toto
Cela est valide, mais j'aurais besoin de z pour être n'importe quel type de balise XHTML. J'ai posté l'exemple en utilisant z tag à des fins d'abstraction, mais avec z je veux dire n'importe quel tag. L'utilisation d'une balise dont le nom est basé sur deux caractères ou plus avec votre expression régulière correspondrait de manière négative aux caractères qui forment l'étiquette de nom, et non à l'étiquette de nom. – busce11