Parser xml accent php

Fermé
emixammax - 14 juin 2011 à 16:12
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 17 juin 2011 à 10:08
Bonjour,
je viens de faire un parser xml mais le probleme c'est que des que dans mon texte que je retire de se parser il y a un accent j'ai un retour a la ligne et je n'arrive pas a le supprimer j'aimerai avoir de l'aide svp
merci d'avance
voici mon code :

function fonctionTexte($parseur, $texte)
{
// Dans l'immédiat nous nous contentons d'afficher
// le texte brut accompagné d'un simple retour à la ligne

echo $texte."<br/>";

}

// Création du parseur XML
$parseurXML = xml_parser_create();

// Je précise le nom de la fonction a appeler
// lorsque du texte est rencontré
xml_set_character_data_handler($parseurXML, "fonctionTexte");

// Ouverture du fichier
$fp = fopen('14707.xml', "r");
if (!$fp) die("Impossible d'ouvrir le fichier XML");

// Lecture ligne par ligne
while ( $ligneXML = fgets($fp, 1024)) {
// Analyse de la ligne
// REM: feof($fp) retourne TRUE s'il s'agit de la dernière
// ligne du fichier.
$ligne = xml_parse($parseurXML, $ligneXML, feof($fp)) or die("Erreur XML");


}

xml_parser_free($parseurXML);
fclose($fp);
A voir également:

1 réponse

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
17 juin 2011 à 10:08
Bonjour,

xml_parser_create() demande un paramètre optionnel qui est le jeu de caractères de votre xml.

depuis php5 le jeu de caractères est décodé automatiquement. Si ce n'est pa sle cas, on peut forcer le décodage:

xml_parser_set_option($xml_parser,XML_OPTION_TARGET_ENCODING, "ISO-8859-1").

si vous encodez en 'UTF-8', remplacer 'ISO-8859-1'.

A+
0