我一直在尝试解析HTML5代码,以便可以在代码内设置属性/值,但是DOMDocument(PHP5.3)似乎不支持诸如<nav>和的标记<section>。
<nav>
<section>
有什么方法可以在PHP中将其解析为HTML并处理代码?
复制代码:
<?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>");
错误
警告:DOMDocument :: loadHTML():在实体中的标签导航无效,第17行在/home/wbkrnl/public_html/new- mvc/1.php中的第4行 警告:DOMDocument :: loadHTML():标记部分在实体中无效,第17行在/home/wbkrnl/public_html/new- mvc/1.php中的第10行
警告:DOMDocument :: loadHTML():在实体中的标签导航无效,第17行在/home/wbkrnl/public_html/new- mvc/1.php中的第4行
警告:DOMDocument :: loadHTML():标记部分在实体中无效,第17行在/home/wbkrnl/public_html/new- mvc/1.php中的第10行
不,无法指定要使用的特定文档类型,也不能修改现有文档类型的要求。
最好的可行解决方案是使用禁用错误报告libxml_use_internal_errors:
libxml_use_internal_errors
$dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTML('...'); libxml_clear_errors();