当前位置: 首页 > 面试题库 >

html5-tags上的PHP DOMDocument错误/警告

郭瀚海
2023-03-14
问题内容

我一直在尝试解析HTML5代码,以便可以在代码内设置属性/值,但是DOMDocument(PHP5.3)似乎不支持诸如<nav>和的标记<section>

有什么方法可以在PHP中将其解析为HTML并处理代码

复制代码:

<?php
$dom = new DOMDocument();
$dom->loadHTML("<!DOCTYPE HTML>
<html><head><title>test</title></head>
<body>
<nav>
  <ul>
    <li>first
    <li>second
  </ul>
</nav>
<section>
  ...
</section>
</body>
</html>");

错误

警告:DOMDocument :: loadHTML():在实体中的标签导航无效,第17行在/home/wbkrnl/public_html/new-
mvc/1.php中的第4行

警告:DOMDocument :: loadHTML():标记部分在实体中无效,第17行在/home/wbkrnl/public_html/new-
mvc/1.php中的第10行


问题答案:

不,无法指定要使用的特定文档类型,也不能修改现有文档类型的要求。

最好的可行解决方案是使用禁用错误报告libxml_use_internal_errors

$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML('...');
libxml_clear_errors();


 类似资料:
  • 问题内容: 我收到了预期的通知和警告,并希望在我的PHP文件中将其关闭。错误是: 通知是: 我打算将cron用于此PHP脚本,并且不想在任何地方记录任何错误或通知。 问题答案: 当您确定脚本可以正常运行时,可以摆脱以下警告和注意事项:将以下行放在PHP脚本的开头: 在此之前,我建议您在处理脚本时正确调试脚本,以使所有注意事项或警告都一一消失。 因此,您应该首先使用以下命令将其设置为尽可能详细: 更

  • 如果提到经常被开发者忽略的特性,那应该就是动态输出错误和提醒的功能了。事实上,Sass 自带三条自定义指令从标准输出系统(CLI,编译程序……)中打印内容: @debug; @warn; @error. 先让我们把 @debug 放一边,毕竟它主要是用作调试 SassScript,而这并不是我们的重点。然后我们就剩下了相互间没有明显差异的 @warn 和 @error,唯一的不同是其中一个可以中断

  • 我不懂编码。我的第一个语言是Clojure。这是我关于stackoverflow的第一个问题。 我编写了一个Clj代码,在lein(Emacs/Cider)上测试了所有函数,我想编译以进行测试。但是Java方法返回了以下错误消息: (在项目文件夹中的终端上): (和getHeight、getRGB、setRGB、java.io.File、javax.imeageio.ImageIO、java.la

  • 嗨,我听到一个错误的说法 组件根本不处理整数。 有时我也会得到作为警报。

  • 问题内容: 我有一个Ant文件可以编译我的程序。如果编译器报告了任何警告,我希望javac任务失败。关于如何做到这一点的任何线索? 问题答案: 使用标志。它没有在输出中列出,但是可以工作。 我通过此博客条目找到了它,并在我自己的代码上进行了测试(在带有Ant的NetBeans中)。输出为: 请注意,这只是Java 6。 编辑 :在Ant构建文件中指定此示例:

  • 运行时错误和警告发生在SystemTap安装了检测代码并开始收集数据的时候。 ⁠WARNING: Number of errors: N, skipped probes: M 在运行时出错并/或跳过某些探针。由于诸如给定时间不足以执行完处理程序的原因,某些探针没有得到执行,N和M就是这些探针的数目。 ⁠division by 0 代码里出现了除零错误。 ⁠aggregate element not