Probleme avec expression régulière (PHP)

Timmyyy !!! -  
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis actuellement en train de réaliser un parser XML en php. En utilisant DOMDocument, je suis parvenue à lire sans problème mes nœuds, récupérer les attributs, etc...
Cependant, lorsque que je lit un argument, je me suis donné deux cas possible, soit c'est une simple chaine de caractère, soit elle 'entouré' de { ... }. Voila mon code:

foreach ($node->attributes as $attrName => $attrNode)
{
content.= (($attrNode->value == "{.*}")
? $this->$attrNode->value
: $attrNode->value
);
echo $content;
}

Mon XML:
<maBalise MonAttribut = "{valeurAttribut}" />
<maBalise MonAttribut = "valeurAttribut" />

Ce code, va me renvoyé: "{valeurAttribut}" et "valeurAttribut"
Et moi évidement je voudrais: "$this->valeurAttribut" et "valeurAttribut"
Apres bcp de tests, je suis a peu pres sure que le probleme vien de l'expression régulère :
$attrNode->value == "{.*}"
Comment dois je l'écrire ?!
A voir également:

1 réponse

pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
"{.*}" est une chaine de caractères, pas une expression régulière ! Essaie d'utiliser les fonctions spécifiques aux regexp (genre preg_match)
0
Timmyyy !!!
 
Bon, je n'ai peut être pas utiliser le bon termes, je suis encore débutant en prog. Mais je ne comprend pas :
https://www.commentcamarche.net/contents/803-php-expressions-regulieres
C'est avec cet page que j'ai voulu tester "{.*}", mais je doit sans doute mal l'écrire ...
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > Timmyyy !!!
 
Ben lis la page en entier...
0
Timmyyy !!! > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
En effet... quel *** je suis ^^.
En utilisant la fonction ereg(), ca marche, merci pour la piste !
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > Timmyyy !!!
 
*** = distrait c'est ça ? ^^
Et oui, la majorité des réponses aux questions posées existent déjà, il suffit de bien les chercher ;-p.
0