Parser xml accent php

emixammax -  
mpmp93 Messages postés 7217 Statut Membre -
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 7217 Statut Membre 1 340
 
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