Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2737 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment detecter les imbrications avec preg_match_all ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment detecter les imbrications avec preg_match_all ?

n°1276076
Dj YeLL
$question = $to_be || !$to_be;
Posté le 02-01-2006 à 20:48:21  profilanswer
 

Bonsoir à tous,
 
Une des particularités de preg_match_all() est de detecter toutes les occurences qui conviennent au masque.
 
Donc par exemple si je fais un masque pour detecter les balises de la forme <...>...</...> et que j'ai ça :
 

<foo>blablabla</foo>
<bar>blablabla</bar>


 
Il va bien me détecter les 2.
 
Le problème est que si j'ai ça :
 

<foo>blabla<bar>blabla</bar>blabla</foo>


 
Il ne me detecte que <foo> car <bar> est inclus dedans.
 
Existe-t-il un moyen de faire détecter tous les blocs qui correspondent au masque ?
 
Merci :)


Message édité par Dj YeLL le 02-01-2006 à 20:48:40

---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 02-01-2006 à 20:48:21  profilanswer
 

n°1276083
afbilou
pouet your life
Posté le 02-01-2006 à 21:13:05  profilanswer
 

Je ne pense pas que ce soit possible simplement avec une syntax particuliere de masque ou une option de fonctionnement passée a preg_match_all.
 
A priori : un algo pour traiter les resultats recursivement :/

n°1276084
afbilou
pouet your life
Posté le 02-01-2006 à 21:15:57  profilanswer
 

Autre solution, si tu connais le nombre max d'encapsulation (n encapsulations) tu peux faire n appels a preg_match_all chacun ne capturant qu'un seul niveau d'encapsulation grace aux assertions positives/negatives avant/arrieres.

n°1276097
Dj YeLL
$question = $to_be || !$to_be;
Posté le 02-01-2006 à 22:03:22  profilanswer
 

Je ne connais pas à l'avance le nombre max d'encapsulation. Donc j'ai fais une boucle.
 
Si le masque est trouvé, on stock le contenu, et on relance la fonction sur ce contenu, et ainsi de suite :)
 
Merci
 
++


---------------
Gamertag: CoteBlack YeLL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment detecter les imbrications avec preg_match_all ?

 

Sujets relatifs
Détecter la non réponse d'un FTP distantEreg et preg pour page référée
eregi ou preg contre un script java "resize pop up"preg et retour chariot
Détécter un espace dans un nomQuel est le fonction pour détecter le type variable renvoyé ? (suite)
parse error impossible a detecter :/detecter une dimension d'un tableau [Trouvé]
masquer avec quoi getwindowslong(api) pour detecter un alwaysontopDétecter l'interpréteur javascript
Plus de sujets relatifs à : Comment detecter les imbrications avec preg_match_all ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)