2010-02-15 11 views
0

J'essaie d'enregistrer une chaîne de caractères html dans l'attribut nodeValue d'un DOMElement en PHP, mais après avoir enregistré le fichier avec DOMDocument-> saveHTMLFile la chaîne de HTML est échappée et je ne peux pas comprendre comment obtenir que la chaîne ne soit pas enregistrée comme texte échappé. Des idées?DOMDocument-> saveHTMLFile sauver du texte échappé

+0

Pouvez-vous élaborer davantage sur ce qui se passe? Souhaitez-vous que la syntaxe HTML s'affiche en tant que ">" par opposition à ">"? –

+0

oui, le code html provient d'un éditeur wysiwyg (par exemple

texte

) et mis dans l'attribut nodeValue d'un objet DOMElement et il apparaît dans le fichier comme: <p> texte </p > – trobrock

+0

Ok, je crois Je comprends ce que vous voulez accomplir. –

Répondre

0

Vous devez charger cette chaîne de code HTML avec DOMDocument :: loadHTML et l'ajouter à votre noeud (appendChild).

+0

Cela semble être ce que je chercherais à faire, après avoir analysé la chaîne HTML avec loadHTML J'essaye alors de l'ajouter à l'élément courant avec ceci: $ currElement-> appendChild ($ html_dom_doc-> documentElement) Mais j'obtiens une exception: Erreur fatale: Exception non interceptée 'DOMException' avec le message 'Erreur de document incorrecte' – trobrock

+0

Vous pouvez utiliser la méthode importNode(): http://en.php.net/manual/fr/domdocument.importnode.php De plus, le DOM de PHP a une méthode appendXML() non standard, il a exactement ce dont vous avez besoin (pas sûr qu'il acceptera HTML, cependant). Lien avec l'exemple: http://fr.php.net/manual/fr/domdocumentfragment.appendxml.php – Qwerty

+0

J'ai utilisé la méthode importNode et cela semble fonctionner – trobrock