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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-03-07 08:25 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解析规则,问题也可以解决。

相关文章

PyCharm IDE提示内存不足的解决方法

有同学咨询,在使用PyCharmIDE开发python程序时,PyCharm运行一段时间后,就会提示内存不足,IDE和运行的程序变的很慢很卡,每次都需要重启PyCharmIDE才可以,这是怎么回事呢?如图:图1:PyCharmIDE提示...

网易企业邮箱客户端SSL端口设置

最近配置OJS系统的发信功能,客户使用的是网易企业邮箱,根据网易企业邮箱帮助中心的文档显示,smtp服务加密ssl的端口是994,如图:结果设置了以后,怎么也发不了邮件,就在我一度怀疑是程序出现问题的时候,按照其他邮件服务商的SSL端口...

mysql导入文件,source命令/php...

用phpmyadmin导入大数据库文件时,容易502badgateway,可以直接在linux上用mysql原生命令导入。1.上传sql文件到目录用Xshell登录服务器,将迁移过来的sql文件移到home目录下,方便下一步的操作,站长...

Moment.js设置英文为中文的方法

Moment.js是一个不错的时间处理类js封装包,从官网下载默认是英文的,比如moment().format('dddd')显示出来是Tuesday,如果要显示中文的话,有两种方法:1.moment-with-loca...

推荐文章

小程序开发的流程费用以及需要什么准备材料?

小程序定制开发的流程和费用,以及需要准备的材料,(包括但不限于微信小程序、百度小程序、支付宝小程序、抖音小程序、小红书小程序)具体如下:一、小程序开发的行政流程1.确定软件开发公司,和开发公司签订合同2.甲方支付首期开发费用3.乙方开始进行...

安装fastadmin提示“你所浏览的页面暂...

安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...

Hbuilder开发APP时,找不到真机的解...

正确的USB连线,其次打开开发者选项、USB调试,这些都是老生常谈,就不说了。在确保以上操作无误后,如果还找不到真机,关闭IDE,然后去adb的目录下,即HBuilderX\plugins\launcher\tools\adbs,把adb....

性价比最高的内网穿透方案

内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务器+...