首页 > 原创文章 > 软件开发 > 查看文章

PHP网页报DOMDocument::loadHTML(): Tag header invalid in Entity错误的解决方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-03-07 08:25 浏览: 2722 IP属地: 深圳

PHP网站,网页打开不正常,显示“DOMDocument::loadHTML(): Tag header invalid in Entity”错误代码,是怎么回事呢?

其实,这是php程序中,使用了new DOMDocument的loadHTML来解析远程url的html代码,但是因为在解析远程的html代码时遇到了不符合html规范的内容,如HTML5标签(如 <header>、<footer>、<article> 等)在旧版本的html中无效,所以报错了。

要解决这个问题很简单,有很多种方法,我就写两种最简单和直观的解决方法:

方法一:忽略错误

html=file_get_contents("https://example.com");
$dom=new DOMDocument();

//忽略Html解析错误
libxml_use_internal_errors(true);
$dom->loadHTML($html);
//清除错误
libxml_clear_errors();

在解析html内容前,加上libxml_use_internal_errors(true),在解析html后,加上libxml_clear_errors(),这样可以忽略并清除错误,问题就解决就不会报错了。

方法二:添加Html5支持

$html=file_get_contents("https://example.com");

//添加Html5 DOCTYPE声明
$html="<!DOCTYPE html>".$html;
$dom=new DOMDocument();
$dom->loadHTML($html);

通过添加<!DOCTYPE html>声明,告诉DOMDocument 使用 HTML5解析规则,问题也可以解决。

标签:

相关文章

PHP分割字符串换行的方法nl2br

有同学提问,使用PHP在处理textarea提交的内容时,里边内容是换行了的,怎么把这些内容给解析为ul li格式呢?如:<ul<li aaa</li<li bbb </li</ul 其实很简单,使用...

PHPExcel列自适应宽度的方法

有同学提问,在使用PHPExcel时,使用自带的setAutoSize方法无效,代码如下:$PHPExcel- getActiveSheet()- getColumnDimension(PHPExcel_Cell::stringFrom...

Uniapp提示adb: failed to...

在使用Uniapp开发APP真机调试,第一次运行时,提示:09:35:37.783 adb: failed to install C:\Program Files\HBuilderX\plugins\launcher\base\andr...

重庆微信小程序开发

重庆微信小程序开发

推荐文章

FastAdmin后台列表默认分页数量由10...

没那么多废话,直接上修改方法public\assets\js\require-table.jspageSize: Config.pagesize || localStorage.getItem("pagesize") |...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

Tortoise Svn出现No Path ...

在日常开发过程中,突然发现svn无法提交和更新,出现“no path or pathfile specified on the command line”的错误,网上搜了一圈百度 google 以及stack overflow都没找到真正能...

宝塔"在未指定SSL默认站点时,未开启SSL...

宝塔系统相关问题解决方法