Bug #60021 [Com]: DOMDocument errors on HTML5 tags

From: Date: Wed, 21 Jul 2021 00:48:53 +0000
Subject: Bug #60021 [Com]: DOMDocument errors on HTML5 tags
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235221@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=60021&edit=1 ID: 60021 Comment by: apostnikov at gmail dot com Reported by: drgroove at gmail dot com Summary: DOMDocument errors on HTML5 tags Status: Suspended Type: Bug Package: DOM XML related Operating System: Mac OS X PHP Version: 5.3.8 Block user comment: N Private report: N New Comment: Still getting error on PHP 8.1 beta1 > Warning: DOMDocument::loadHTMLFile(): Tag header invalid in 1.html Previous Comments: ------------------------------------------------------------------------ [2020-01-31 13:56:43] matthewheroux at gmail dot com HTML5 has been the standard for years. This is negatively impacting PHP. Huge issue with keeping PHP relevant and modern. It seems like such as achievable fix. A few entities, a different doc tag. ------------------------------------------------------------------------ [2016-02-04 07:45:46] cweiske@php.net There wasn't even a HTML5 tag bug report for libxml2 yet; I've created it now: https://bugzilla.gnome.org/show_bug.cgi?id=761534 ------------------------------------------------------------------------ [2012-04-02 04:13:12] aharvey@php.net It's a valid issue, but it's really an upstream one: libxml2's HTML parser only supports HTML 4.01, so until that's extended to support HTML5 or a new parser is added to libxml2, there's little to be done in PHP proper. There are userspace parsers available: html5lib will parse documents according to the HTML5 algorithm and give you a DOMDocument to work with. Suspending for now. Given that the issue was first raised upstream in 2008, I wouldn't hold your breath (although I suspect they'd love a patch). ------------------------------------------------------------------------ [2012-04-02 03:41:38] drgroove at gmail dot com Any progress on resolving this? Working w/ DOMDocument and HTML5 is a huge pain in the butt right now; you have to write custom error handlers for things like <header/>, <nav/>, and other HTML5 tags. Also, just entered a bug report for SimpleXML (where tags w/ both attributes and text have their attributes dropped). Both DOMDocument and SimpleXML need updates... it's very difficult to work w/ HTML and XML when both of these APIs have so many issues. Thanks for your help everyone :) ------------------------------------------------------------------------ [2011-10-09 05:24:13] drgroove at gmail dot com Description: ------------ Loading HTML documents through DOMDocument->loadHTMLFile(), when the HTML file contains certain new HTML5 tags, results in this error: Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: Tag footer invalid in {file path here} <footer> is a new HTML5 tag. The error appears for other HTML5 tags as well (eg, <header>). Test script: --------------- // TEST.html <header> Some text here </header> // TEST.php <?php $dom_document = new DOMDocument(); $dom_document->loadHTMLFile("TEST.html"); ?> Expected result: ---------------- DOMDocument should not fail on HTML5 tags. Actual result: -------------- Warning: DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: Tag footer invalid in {file path here} ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=60021&edit=1

« previous php.bugs (#235221) next »