Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2007, 18h55   #1
Invité régulier
 
Inscription : juin 2005
Messages : 87
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 87
Points : 8
Points : 8
Envoyer un message via MSN à mathieu3392
Par défaut XML et PHP avec de l'HTML : entités posant problème

bonjour, je génère aujourd'hui des XML à partir d'une base de données.
J'ai un champ qui a été renseigné par l'utilisateur grâce à TinyMCE donc formaté en html
Comment inclure ce champ HTML dans mon XML; actuellement le & semble poser problème. J'ai pourtant utiliser utf8_encode mais ca ne semble pas marcher, voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
function NewXMLFile($TabContenu,$FileDest){
	$buffer = '<?xml version="1.0" encoding="iso-8859-1"?><contenu>';
 
	if (is_array($TabContenu)){
		foreach ($TabContenu AS $key => $value){
			$buffer.= "<".$key.">".StrOut($value)."</".$key.">\n";
		}
	}
 
	$buffer.= '</contenu>';
	return NewFile($buffer, $FileDest);
}
Mon erreur :
Citation:
Erreur d'analyse XML : entité non définie
Emplacement : http://www.mondomaine.com/xml/articles/article-4.xml
Numéro de ligne 5, Colonne 21 :<contenu>&lt;h1&gt;D&icirc;ner spectacle&lt;/h1&gt;D&eacute;tente, frissons, convivialit&eacute;... D&icirc;ner dans l'un des trois
--------------------^
Merci de m'aider
mathieu3392 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 19h51   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
En XML et contrairement à HTML (grâce aux doctype/dtd), aucune entité nommée n'est prédéfinie mises à part celles qui correspondent aux caractères spéciaux (<, >, ', ", &) et un encodage adéquat devrait permettre de les faire figurer telle quelle.

En complément, voir également cette précédente discussion : Problème de caractère spécial et, probablement, la fonction html_entity_decode.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 10h17   #3
Invité régulier
 
Inscription : juin 2005
Messages : 87
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 87
Points : 8
Points : 8
Envoyer un message via MSN à mathieu3392
je ne comprends pas bien ta réponse, il faut donc que je recode chaque caractère ? genre le & en quoi ? Merci
mathieu3392 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 14h57   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Ce n'est pas le &, seul, le problème mais les entités (&icirc; et &eacute; par rapport à ce qui est donné plus haut). Vous ne devriez pas appliquer à votre texte les fonctions telles htmlentities ou htmlspecialchars (mais peut être est-ce fait par TinyMCE) sinon la fonction html_entity_decode, que j'ai indiqué plus haut, ne vous permet-elle pas de réaliser l'opération inverse (entité vers simple caractère) ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h58.


 
 
 
 
Partenaires

Hébergement Web