tel que . Y a-t-il quelque chose que je puisse faire à ce sujet? P>
3 Réponses :
J'ai rencontré ce problème avec les fonctions DOMDOC et XSL de PHP. Vous devez essentiellement charger le document comme XML. C'est la seule façon dont j'ai obtenu le mise à jour:
Vous pouvez également essayer d'ajouter des éléments et des entités au CODE> Tant que $ DOC-> RESOLVEEXternals = true code>. p>
Mais alors je dois utiliser seulement XML bien formé. : /
HTML5 est censé être bien formé: P Vous pouvez essayer $ DOC-> résoldexternals = true; et ensuite mettre les balises HTML5 dont vous avez besoin dans le ]>, DOMDOC obéira aux types de documents
@James HTML5 ne doit pas nécessairement être bien formé XML. Vous pouvez toujours utiliser des étiquettes de fermeture automatique sans le /> code>, par exemple
code>
@PHIL OUI HTML5 doit être bien formé XML, et la balise vides fermée est valide XML W3 Eetag
@James juste pour clarifier. HTML5 n'est pas XML ni une variante. L'analyse en tant que telle conduira presque certainement à des erreurs. Dans XML, des balises vides doivent i> être auto-fermer à l'aide de /> code>. Dans HTML5, il n'y a pas de règle de ce type. Tags vides May i> être exprimé en un format, par exemple code> et
code>. Un document HTML5 ne peut être analysé que XML (via la compatibilité de la syntaxe uniquement) si toutes les balises vides sont exprimées comme une fermeture automatique. Comme c'est être valide, vous ne devriez pas compter sur elle.
@Phil votre correct, HTML5 n'est pas XHTML, il n'est donc pas strictement de respecter les règles de XML, mais comme les meilleures pratiques, vous devez écrire des balises HTML compatibles XML pour faciliter l'utilisation de Technologies XML / Document.
@James plutôt que d'essayer d'analyser un document non XML en tant que XML, je pense qu'il serait préférable que l'analyseur DOM soit mis à jour pour gérer le nouveau Doctype. Votre suggestion d'utiliser des extérieurs est la meilleure solution provisoire imo
Je ne sais pas si vous avez essayé la bibliothèque finalement signalé dans cette réponse: p>
dom analyseur qui permet à HTML5-style in < script> tag p>
HTML5LIB a résolu le même problème que vous rencontrez pour moi (c'était le
Essayez d'ignorer l'erreur:
Dans mes cas, j'ai plusieurs "widgets" dans plusieurs fichiers qui sert de modèles. Par exemple:
template_header.html
template_footer.html p> Notez que $ dom-> loadhtmlfile a et "@" à ogonfore l'erreur. p> p>
Dupliqué possible de Erreurs PHP Domdocument / Avertissements sur HTML5-Tags