”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 PHP 中抑制 \"htmlParseEntityRef: waiting \';\' in Entity\" 警告?

如何在 PHP 中抑制 \"htmlParseEntityRef: waiting \';\' in Entity\" 警告?

发布于2024-11-08
浏览:374

How to Suppress \

正在解析“htmlParseEntityRef:期待 ';' in Entity”警告

将 HTML 内容加载到 DOMDocument 时,您可能会遇到警告“htmlParseEntityRef: waiting ';'在实体中。”此错误通常是由于加载内容中的 HTML 实体格式错误而引起的。要在确保正确的实体解析的同时缓解此警告,请按照下列步骤操作:

  1. 启用内部错误: 利用 libxml_use_internal_errors(true) 函数允许记录内部 XML 解析错误,而不会突然发生终止你的脚本。这使您能够优雅地处理错误。
  2. 加载 HTML: 激活内部错误后,像往常一样使用 $dom->loadHTML($ html).
  3. 禁用内部错误:加载 HTML 后,通过调用 libxml_use_internal_errors($internalErrors) 以及之前存储的错误级别来禁用内部错误,以恢复到默认的错误处理行为。

通过采用此技术,警告将被抑制,并且 DOMDocument 将使用加载的 HTML 内容正确填充。

// create new DOMDocument
$document = new \DOMDocument('1.0', 'UTF-8');

// set error level
$internalErrors = libxml_use_internal_errors(true);

// load HTML
$document->loadHTML($html);

// Restore error level
libxml_use_internal_errors($internalErrors);
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3