Bug #60021 [Com]: DOMDocument errors on HTML5 tags
| From: | apostnikov at gmail dot com | 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