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

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

所属分类:软件开发来源: 丁老师原创更新时间:2025-03-07 08:25IP属地: 深圳
点击阅读全文

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解析规则,问题也可以解决。

dls6.jpg

相关文章

fastadmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...

php调用美图秀秀插件上传头像

丁老师教你如何用php调用美图秀秀插件实现头像上传的功能。

python3.12提示windows No...

在使用python3.12时突然遇到提示windowsNomodulenameddistutils,研究了一下,把解决办法分享出来。安装setuptools,它现在也提供distutils从第三方源(如系统软件包)载入distutils或降...

jquery1.7版本之前不支持on事件的解...

这个时候可以用到live方法

推荐文章

CSS常用字体

1.字体列表及引用链接鸿蒙字体-B站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css500 字重 CSS://s1.hdslb.com/bfs/static...

js复制对象改变原值的解决办法

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={"a":1,"b":2}let new=old;new['c']=3;这个时候你...

composer self-update 更...

1.composer版本更新文档版本号:https://getcomposer.org/download中文网:https://docs.phpcomposer.com/03-cli.html#self-update英文网:https://...

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

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

QQ咨询微信咨询