Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

caractères spéciaux et saut de ligne non pris en compte

Principalement pour son interaction avec PHP.

caractères spéciaux et saut de ligne non pris en compte

Messagepar mourad.bilog 10 Juil 2012, 14:34

Bonjour tout le monde, le code suivant
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
<?php
        require_once MONO_SITE_PATH."data/compo_data.php";
 
        // inialisation de l'objet DOMDocument de php.
        $objetDom = new DOMDocument('1.0', "UTF-8");
        $objetDom->formatOutput = TRUE;
 
        $formeCompos = createXml($objetDom,'FormePharmaceutiqueComposition','');
        $formepharm = createXml($objetDom,'FormePharmaceutique',$formeCompos);
 
        // récupérer données
        $txt_form_arr = get_txt_form(3920);
 
        //affichage texte forme
        if(!is_null($txt_form_arr['txt_form']))
                createXml($objetDom,'TexteForme',$formepharm, utf8_encode($txt_form_arr['txt_form']))
 
        // fonction de création noeud du fichier XML
        function createXml($objetDom,$balise,$parent,$text_balise)
        {
                //création de l'élement
                $element = $objetDom->createElement($balise);
 
                //si le parent n'est pas renseigner on parle de neoud principale
                if (empty($parent))
                        $element = $objetDom->appendChild($element);
                else
                        $element = $parent->appendChild($element);
 
                //affecter le texte pour le noued
                $text = $objetDom->createTextNode($text_balise);
                $text = $element->appendChild($text);
 
                return $element;
        }
 
        // sauvegarde du contenu xml dans le fichier
        objetDom->save(MONO_SITE_PATH."Compo.xml");
?>
 

récupére des données depuis la base de données et les insère dans un fichier XML.
Le fichier XML est généré mais j'ai constaté que son formatage n'est pas correct. Les 2 problèmes rencontrés sont :
1. Absence de l'indentation
2. La non prise en compte des sauts de lignes.
Le résultat obtenu est :
Syntaxe: [ Télécharger ] [ Masquer ]
Code xml
<?xml version="1.0" encoding="UTF-8"?>
<FormePharmaceutiqueComposition><FormePharmaceutique><TexteForme>Gélule.&#13;
&#13;
Gélule blanche et rouge.&#13;
&#13;
Calibrage : n°0.</TexteForme></FormePharmaceutique></FormePharmaceutiqueComposition>
 

J'ai vraiment essayé plusieurs alternatives par exemple la classe Beautifier de PEAR ou une classe de formatage de code XML mais le résultat est toujours incompatible avec celui escompté.
Est ce que quelqu'un pourrait m'éclaircir sur ce sujet et pourra me donner des pistes de solutions.
Merci d'avance pour votre aide.
Bien cordialement.
mourad.bilog
Embryon
 
Messages: 1
Inscription: 10 Juil 2012, 14:28

Publicité

Re: caractères spéciaux et saut de ligne non pris en compte

Messagepar momox 14 Juil 2012, 23:19

En cherchant "php domdocument indent" sur Google, j'ai trouvé quelques réponses.
momox
Mammouth
 
Messages: 1466
Inscription: 15 Oct 2005, 10:19
Localisation: Créteil (94)


Retourner vers XML

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

  • Publicité