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é
Répondre
Vous devez charger cette chaîne de code HTML avec DOMDocument :: loadHTML et l'ajouter à votre noeud (appendChild).
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
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
J'ai utilisé la méthode importNode et cela semble fonctionner – trobrock
Pouvez-vous élaborer davantage sur ce qui se passe? Souhaitez-vous que la syntaxe HTML s'affiche en tant que ">" par opposition à ">"? –
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 > – trobrockOk, je crois Je comprends ce que vous voulez accomplir. –