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

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

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

标签:

相关文章

Nginx环境下php下缓存问题的解决

nginx环境下php缓存问题的解决

丁老师淘宝采集插件使用方法

丁老师淘宝采集插件使用方法,调用方式

微信支付常见问题及解决办法

微信支付常见问题及解决办法

R语言读取多个zip文件数据的方法

如何实现用R语言一次读取多个zip文件,获取zip文件里的数据?今天丁老师教给大家。R语言可以使用zip_vector函数,可以读取所有zip压缩文件里的内容,并且无需使用循环。代码示例:datprocessorC <- func...

推荐文章

Uniapp开发微信小程序怎么模拟位置?

废话不多说,直接上货。在微信开发者工具调试栏,找到Sensor(传感器)。Geolocation,勾选启用,下边输入经纬度即可!

php拼装sql语句,换行查询出错的问题解决

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;' $sql=' and( status in(1,2,3,4,5) and id not in (select id from ...

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

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

低成本的政企软件系统维护服务

开源节流,控制生产成本,限制开销,是每个企业和单位都要采取的成本控制和管理措施。其中,人力成本是企业在经营中支出占比较大的一块。以IT信息化部门为例,一个负责企业软件系统运维的IT部门,至少需要配置3个员工,每个员工按照IT工程师3-5年工...