xml et preg_match

Eléphant du PHP | 200 Messages

07 févr. 2006, 12:01

bonjour tlm,

je n'ai pas envie d'installer un parser complet car je nai besoin de traiter qu un tout petit bout de cahaine et je pensé me tourner vers preg_match mais je n'arrive pas a trouver le bon maque de recherche pour trouver l entier qui se trouve entre les balises :

<eval date=\'27/01/2006 12:12:46\' critere=\'16\' validation=\'Assuré à 100 %\' info=\'acheteur certifié\'>100</eval>


:?: $masque = "#>(.*)</eval>#i";

mais j obtiens :

Code : Tout sélectionner

{ [0]=> string(320) ">En attente des informations bancaires100" [1]=> string(312) "En attente des informations bancaires100" }
sachant que mon xml a cette tete :

/*

Code : Tout sélectionner

<?xml version=\'1.0\' encoding=\'ISO-8859-1\' ?> <result version=\'3.0\' site=\'3058\' refid=\'30240\' retour=\'trouvee\' count=\'1\'> <transaction avancement=\'traitee\' cid=\'176204310\'> <detail>En attente des informations bancaires</detail> <analyse><eval date=\'27/01/2006 12:12:46\' critere=\'16\' validation=\'Assuré à 100 %\' info=\'acheteur certifié\'>100</eval></analyse> </transaction> </result>
*/
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 200 Messages

08 févr. 2006, 12:43

pas de champion de l expression reguliere dans les parages ? 8)
Univers divided by 0 - cucumber error - reboot

ViPHP
ViPHP | 1380 Messages

08 févr. 2006, 12:51

mais je n'arrive pas a trouver le bon maque
Bah, dans les quartiers chauds, ça doit se trouver non? :wink:
preg_match_all('#<eval[^>]+>(\d*)</eval>#', $txt, $out);
ripat

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 févr. 2006, 13:07

mais je n'arrive pas a trouver le bon maque
Bah, dans les quartiers chauds, ça doit se trouver non? :wink:
#-o ](*,)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

08 févr. 2006, 15:59

mais je n'arrive pas a trouver le bon maque
Bah, dans les quartiers chauds, ça doit se trouver non? :wink:
Et moi qui prenais Ripat pour un type respectable, rangé, vocabulaire châtié et tout ça, BCBG quoi, quelle désillusion :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 200 Messages

09 févr. 2006, 11:16

:oops: :oops: :oops:

en tout cas le maSque marche nickel ! merci !
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 200 Messages

09 févr. 2006, 11:41

pârcontre il y a un truc etrange ( nfin pour moi ) , le resultat et un tableau multidimentionnel :?:

{ [0]=> array(1) { [0]=> string(114) "100" } [1]=> array(1) { [0]=> string(1) "100" } }

je ne comprend pas vraiment pourquoi ....
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 200 Messages

09 févr. 2006, 14:25

argh , je viens de m appercevoir que la classe abrégées \d capture les entier positif [0-9] , hors parfois je recupere des -1 et autres nombres negatif .... :? ,

any idea ?
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 200 Messages

09 févr. 2006, 14:31

#<eval[^>]+>((\d*)|(-[0-9]*))</eval>#
8)
Univers divided by 0 - cucumber error - reboot

ViPHP
ViPHP | 1380 Messages

09 févr. 2006, 16:54

Ou tout simplement:

Code : Tout sélectionner

#<eval[^>]+>(-?\d*)</eval>#
le - est optionnel.

pârcontre il y a un truc etrange ( nfin pour moi ) , le resultat et un tableau multidimentionnel :?:
C'est normal pour preg_match_all.
ripat