IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] XML et PHP avec de l'HTML : entités posant problème


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut [XML] 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    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

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut
    je ne comprends pas bien ta réponse, il faut donc que je recode chaque caractère ? genre le & en quoi ? Merci

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    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) ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/09/2015, 00h35
  2. Réponses: 5
    Dernier message: 21/04/2010, 21h41
  3. [DOM] Construction de fichier XML en PHP avec mise en page
    Par kdson dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/02/2008, 09h58
  4. Réponses: 2
    Dernier message: 04/10/2007, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo