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] éviter la transformation des & avec la fonction setAttribute


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 71
    Par défaut [DOM] éviter la transformation des & avec la fonction setAttribute
    Bonjour,

    J'utilise la fonction setAttribute (voici la doc officiel) pour créer un noeud xml. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monNoeudDom->setAttribute("href", "http://mon.site.web/page.php?var1=1&var2=2");
    et voilà le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://mon.site.web/page.php?var1=1&amp;var2=2">
    et malheureusement il m'échappe les esperluettes (&). J'ai essayé d'utiliser \& et \\& à la place de mon &, mais sans réussite... j'obtiens toujours &amp;

    J'ai également essayer de créer mon attribut avec createTextNode (voici la doc officiel) de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $attribut = $noeud_DOM->ownerDocument->createAttribute("href");
    $noeud_DOM->appendChild($attribut);
    $value = $noeud_DOM->ownerDocument->createTextNode("http://mon.site.web/page.php?var1=1&var2=2");
    $noeud_DOM->appendChild($value);
    Résultat identique...

    alors par pitié, si vous avez une boule magique ou des supers pouvoirs, me faut un coup de pouce rapidement, je commence à prendre trop de retard sur le projet à cause de cette broutille

    D'avance un grand merci
    Gregco

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    C'est un comportement normal qui permet de garder ton fichier XML valide. Ensuite lorsque tu récupèreras la valeur de l'attribut avec getAttribute( ) les échappements disparaîtront.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 71
    Par défaut
    Re salut Séb,

    Je vois que tu suis les fofo simplexml et DOM :-)

    Via mon application je dois créer des documents xhtml qui sont retourné à un browser... je dois donc impérativement au final (que ce soit via DOM ou via simplexml) avoir un lien compréhensible par un simple browser...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://www.monsite.dev/mapage.php?param1=1&param2=2">Voici mon lien</a>
    Es-ce que je m'y prend de la mauvaise manière? Devrais-je utiliser autre chose que DOM et SimpleXml? Si oui quoi, car là je reste un peu perplexe...

    J'ai commencé le développement d'une classe qui me permet au final d'avoir se que je veux... mais c'est bcp plus lourd comme traitement. Quand je l'aurai terminée je la posterais, en attendant je garde mes 2 postes ouvert, des fois qu'il y ait un moyen standard de contourner cette automatisation excessive.

    ++
    Greg

Discussions similaires

  1. Éviter de lire des caractères avec fscanf()
    Par Self-Mao dans le forum C
    Réponses: 3
    Dernier message: 02/05/2013, 10h39
  2. Transformation des modèles avec mediniQVT
    Par roset_jacques dans le forum Eclipse
    Réponses: 0
    Dernier message: 16/12/2009, 14h11
  3. Réponses: 5
    Dernier message: 16/11/2006, 08h09
  4. Réponses: 3
    Dernier message: 15/11/2005, 19h50
  5. Réponses: 13
    Dernier message: 20/03/2003, 09h11

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