Preg_match et xml

Shgrooomph
Invité n'ayant pas de compte PHPfrance

22 févr. 2007, 12:33

j'ai un fichier xml de cette forme

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-16"?> <Doc> <Titre>Beau titre</Titre> </Doc>
preg_match("/<Titre>(.*)<\/Titre>/s",$contenu,$titre);

echo $titre[1];
Ne donne pas "Beau titre". Qu'est-ce que j'ai raté ?

Eléphant du PHP | 259 Messages

22 févr. 2007, 13:24

hello,

si tu utilise php5, regarde plutot du coté de simpleXML au lieu de te prendre la tete sur les regexp :)

sinon, que te retourne preg_match ? à la limite pour etre sur essaye ceci :
echo '<pre>' , print_r( $titre , true ) , '</pre>';
c'est très pratique pour comprendre ce qui se passe...

accessoirement il peut etre intéressant de rendre ta regexp moins gourmande :

soit :
"/<Titre>(.*?)<\/Titre>/s"
ou
"/<Titre>(.*)<\/Titre>/sU"

a part cela, étant une quiche en regexp, je laisserai quelqu'un de plus compétant te renseigner ;)
Modifié en dernier par Jules Petibidon le 22 févr. 2007, 13:27, modifié 1 fois.

Shgrooomph
Invité n'ayant pas de compte PHPfrance

22 févr. 2007, 13:25

Bon ma question n'inspire pas grand monde.

ViPHP
ViPHP | 3607 Messages

22 févr. 2007, 14:18

j'ai testé ta regexp, elle fonctionne...
Mais je plussoie tout de même Jules Petibidon, utilise simpleXML (php5)
ou lib XML => http://www.phpfrance.com/forums/voir_sujet-25462.php pour php4

Shgrooomph
Invité n'ayant pas de compte PHPfrance

22 févr. 2007, 15:52

Ok j'ai compris pourquoi ca ne marchait pas, mes xmls sont tous dans un format qui n'est pas pris en compte par php ....

ViPHP
ViPHP | 3607 Messages

22 févr. 2007, 16:47

c'est à dire ? :?

Mammouth du PHP | 2937 Messages

28 févr. 2007, 14:10

Ok j'ai compris pourquoi ca ne marchait pas, mes xmls sont tous dans un format qui n'est pas pris en compte par php ....
<?xml version="1.0" encoding="utf-16"?>
Ça vient peut-être de là. Auquel cas, pourquoi ne pas utiliser le codage UTF-8? :wink:

ViPHP
ViPHP | 4674 Messages

28 févr. 2007, 15:33

merci jojolapine :)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).