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 :

[DOM] Retour à la ligne dans un nodeValue


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut [DOM] Retour à la ligne dans un nodeValue
    Bonjour à tous.
    J'ai un petit soucis bizarre que je n'arrive pas à élucider, pas très important mais qui m'intrigue beaucoup !

    Alors voila j'importe un fichier XML, et je lis pour lui sous-tirer des informations
    Voici mon code PhP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $dom = new DOMDocument();
    $dom->load("./tmp/".$file);
     
    $packages = $dom->getElementsByTagName("package");
    foreach($packages as $package)
    		package_create($package->getAttribute("package_id"),$package->nodeValue);
    Ma fonction package_create permet d'enregistrer dans une base MySQL ce nouveau package avec ses 2 champs.

    Mon bout XML :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <tv_packages>
    <package package_id="1">
    <package_name>Eco</package_name> 
    </package>
    <package package_id="4">
    <package_name>Gratuit</package_name> 
    </package>
    <package package_id="35">
    <package_name>Grand Ecran</package_name> 
    </package>
    </tv_packages>

    Et je me suis aperçu en fait qu'il apparaissait dans mes champs MySQL, un retour à la ligne juste avant chaque nom de package. Comme s'il y avait un \n ou \r juste avant.
    Donc c'est pas bien grave, mais je ne vois vraiment pas d'ou ca vient

    Merci pour votre aide !

  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
    Si vous prenez la valeur de l'élément package (au lieu de package_name ) c'est effectivement normal.

    Autres solutions :
    Vous pouvez essayer d'ajouter avant l'appel à load :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dom->preserveWhiteSpace = FALSE;
    Sinon avec les fonction [rl]?trim, ça doit marcher aussi non ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut
    Désolé de ma réponse tardive j'étais passé à autre chose.
    Alors oui en effet ce que je fais c'est pas vraiment top...J'ai pas assez réfléchit avant de poster, je m'en excuse !

    Ca me donne ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($packages as $package)
    {
        $name = $package->getElementsByTagName("package_name");
        package_create($package->getAttribute("package_id"),$name->item(0)->nodeValue);
    }

    Par contre, pour ma culture, c'est quoi les fonctions [rl]?trim ?

    Merci pour le coup de main !

  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
    • trim : suppression des caractères blancs (espaces, tabulations, sauts de ligne, ... - par défaut) en début et en fin de chaîne
    • rtrim : la même fonction mais qui ne supprime les blancs qu'en fin de chaîne
    • ltrim : même chose mais sur le début de la chaîne seulement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Insérer retours de lignes dans un textarea
    Par Ralfman68 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/02/2009, 13h06
  2. [C#] Retour à la ligne dans un textbox
    Par Oberown dans le forum Windows Forms
    Réponses: 8
    Dernier message: 26/07/2005, 09h46
  3. [C#] Retour à la ligne dans un TextBox MultLine
    Par Oberown dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/07/2005, 11h39
  4. retoure à la ligne dans un fichier
    Par adilou1981 dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2004, 15h05
  5. [MFC] Retour à la ligne dans un CEdit
    Par Kant dans le forum MFC
    Réponses: 7
    Dernier message: 18/02/2004, 08h58

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