我一直在try 解析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():标记

警告:DOMDocument::loadHTML():标记

推荐答案

不,无法指定要使用的特定doctype,也无法修改现有doctype的要求.

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

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

Php相关问答推荐

根据用户ID禁用WooCommerce checkout 下单按钮

如何在Livewire中验证多个 Select 字段

我的docker—compose lamp stack在软件更新后不工作:Containerconfig错误'''

在没有symfony应用程序的情况下使用安全Bundle 包时,缺少配置构建器类

如何使用MS Graph PHP SDK V2下载文件

如何使用索引加速和优化MySQL搜索

使用随机生成器在MYSQL中创建唯一ID-定义一个数组来存储已知ID是否安全

对表示大小的值后缀进行自定义排序(XXS、XS、S、M、L、XL、XXL)

HTTPPost请求在从php脚本调用时返回404,但在从node.js脚本调用时有效.终结点有效

使用 php Carbon 获取两个日期之间的随机日期和时间

既然setSQLLogger()已被弃用,如何使用中间件在 Doctrine 3 中记录查询执行时间?

按日期向 WooCommerce 中的我的帐户订单添加过滤器

如何更新 Laravel Eloquent 列强制转换为集合

Composer自动加载器重复了子类的类文件路径

使用其ID查询和捕获与订单相关的其他详细信息的shopware 6方法

在WooCommerce中显示 checkout 的高级自定义字段(Advanced Custom Fields)并保存其值

WooCommerce - 调用功能ID不正确.不应直接访问订单属性

将 HTML 表单链接到 SQLite 数据库

如何将子查询结果添加到学说 2 中主查询的末尾?

在 WooCommerce 结帐后更新用户元字段