I've been attempting to parse HTML5-code so I can set attributes/values within the code, but it seems DOMDocument(PHP5.3) doesn't support tags like
Is there any way to parse this as HTML in PHP and manipulate the code?
Code to reproduce:
<?php $dom = new DOMDocument(); $dom->loadHTML("<!DOCTYPE HTML> <html><head><title>test</title></head> <body> <nav> <ul> <li>first <li>second </ul> </nav> <section> ... </section> </body> </html>");
Warning: DOMDocument::loadHTML(): Tag nav invalid in Entity, line: 4 in /home/wbkrnl/public_html/new-mvc/1.php on line 17
Warning: DOMDocument::loadHTML(): Tag section invalid in Entity, line: 10 in /home/wbkrnl/public_html/new-mvc/1.php on line 17
No, there is no way of specifying a particular doctype to use, or to modify the requirements of the existing one.
Your best workable solution is going to be to disable error reporting with
$dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTML('...'); libxml_clear_errors();
or use html5lib instead of the DOM extension.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki