DOMDocument::loadXML 与 HTML 实体

2023-12-31

我目前在读取 XHTML 时遇到问题,因为 XML 解析器无法识别 HTML 字符实体,因此:

<?php
$text = <<<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Entities are Causing Me Problems</title>
  </head>
  <body>
    <p>Copyright &copy; 2010 Some Bloke</p>
  </body>
</html>
EOF;

$imp = new DOMImplementation ();
$html5 = $imp->createDocumentType ('html', '', '');
$doc = $imp->createDocument ('http://www.w3.org/1999/xhtml', 'html', $html5);

$doc->loadXML ($text);

header ('Content-Type: application/xhtml+xml; charset: utf-8');
echo $doc->saveXML ();

结果是:

Warning: DOMDocument::loadXML() [domdocument.loadxml]: Entity 'copy' not defined in Entity, line: 8 in testing.php on line 19

如何解决这个问题,同时允许自己以 XHTML5 形式提供页面?


XHTML5 没有 DTD,因此您不能在其中使用老式的 HTML 命名实体,因为没有文档类型定义来告诉解析器该语言的命名实体是什么。 (除了预定义的 XML 实体&lt;, &amp;, &quot; and &gt;... and &apos;,尽管您通常不想使用它)。

而是使用数字字符引用 (&#169;)或者更好的是,只是一个简单的未编码的©字符(UTF-8 格式;记住包含<meta>元素来表示非 XML 解析器的字符集)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DOMDocument::loadXML 与 HTML 实体 的相关文章

  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu
  • 如何在没有 JavaScript 的情况下预加载图像?

    在我的 HTML 页面之一上 当我将鼠标悬停在某些链接上时 会显示一些大图像 并且加载这些图像需要一些时间 我不想使用 JavaScript 来预加载图像 有什么好的解决办法吗 HTML5 有一种新方法可以做到这一点 即link prefe
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 如何在同一 PHP 页面上多次使用 mysqli fetch_assoc() 和准备好的语句?

    有没有办法启用fetch assoc 在同一页上多次使用准备好的语句 data conn gt prepare SELECT FROM some table WHERE id data gt bind param i id data gt
  • 当我使用 session_start() 时,Xampp 7.0.1 Apache 崩溃

    当我在 PHP 中使用 session start 启动会话时 我的 Apache 服务器停止工作 我正在使用 Windows 版 Xampp 7 0 1 我的配置文件如下所示 即使我把它放在文件的第一行 它也不起作用 有人知道如何解决这个
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • Text::平衡和多行 xml

    看来我有点失落了 我需要解析一个大的 大约 100 mb 且相当难看的 xml 文件 如果我使用parsefile 它返回错误 文档元素后的垃圾 但它会很乐意解析文件的较小元素 所以我决定将文件分解为元素并解析它们 由于不鼓励使用正则表达式
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • Outlook 2013 渲染问题:嵌套表格截断相邻文本

    在开发 html 电子邮件通讯时 我经常使用类似于以下的结构 table width 244 border 0 cellpadding 0 cellspacing 0 tr td table border 0 align left tbod
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • 在 PHP 中接受带有小数点和千位分隔符的国际数字

    对于用户可以输入能量值来计算相应费用的在线计算器 我需要 PHP 脚本来接受各种用户输入 200 万又四分之一焦耳 的值可以输入为 2000000 25 默认表示法 2 000 000 25 带千位分隔符 2000000 25 逗号作为小数
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 使用 ImageMagick (PHP) 将 2 个图像并排合并为 1 个图像

    我认为这是一件容易的事 我有 2 张图片 JPG 我希望它们合并成一张图片 其中 2 张图片并排 所以我有图片 A 和图片 B 我想要图片 AB 并排 两个图像具有相同的宽度和高度 在本例中 宽度 200px 高度 300px 但是第二个图
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv

随机推荐

  • 如何在mysql中提取两个特殊字符之间的字符串

    我正在使用查询从数据库中提取特殊字符之间的数字 select number from database where number between like 如何编写MySQL脚本来获取101 out of lt 101 gt Use SUB
  • 在 Cocoa/Objective-C 中创建看门狗的原因和方法

    祝大家星期一快乐 这是我的情况 非常感谢任何帮助 我创建了一个可执行文件 安装后将其放置在计算机的 Launch Agents 文件夹中 理论上它应该永久运行 每秒收集数据 它可以在机器睡眠时停止 但在计算机重新激活时重新启动 这是我的问题
  • asp.net MVC3 上的自定义错误页面

    我正在开发一个 MVC3 基础网站 我正在寻找一种解决方案来处理错误并为每种错误渲染自定义视图 因此 想象一下我有一个 错误 控制器 其主要操作是 索引 通用错误页面 并且该控制器将对用户可能出现的错误有更多操作 例如 Handle500
  • 模板函数的前向声明

    我有一个带有朋友模板函数的模板类 我目前有以下代码并且它正在工作 template
  • 空的“()”在 Matlab 矩阵上有什么作用?

    In Matlab 表达式到底是什么M 在哪里做M是一个矩阵 gt gt M magic 3 gt gt M ans 8 1 6 3 5 7 4 9 2 是表达式isequaln M M 在所有情况下都是如此吗 是M 只是一个副本M 或相同
  • 如何将对象转换为数组?

    输出以下内容 Array 0 gt Object fields private gt Array id gt 9093 name gt zahir Object
  • 如何上传 pdf 文件?

    我必须使用以下方式在网络应用程序中上传 pdf 文件FileUpload控制 我已经尝试过这段代码 但它有一些问题 谁能帮我这个 protected void Button1 Click object sender EventArgs e
  • 如何更改 UINavigationBar 及其上按钮的颜色?

    我想改变 UINavigationBar 的颜色 是否可以保留不同颜色的 UINavigationBar 和按钮 UINavigationBar 有一个tintColor为此的财产
  • 是否可以创建一个可以在 blobstore 中上传照片的 Google 应用引擎端点?

    我想知道是否可以使用端点在应用程序引擎 blobstore 中上传照片 如果是 请说明如何或重定向到任何可用资源 如果没有 您能否公开任何简单的替代方案 使用另一个库 将标准 servlet 与其他库一起使用 这篇文章应该有用 通过应用程序
  • 与 CMPSB 指令混淆

    我一直在看这段代码 我对代表 cmpsb line LOOP push cx mov cx 0x000B eleven character name mov si ImageName image name to find push di r
  • PHP 5 秒倒计时(CLI,而非 JavaScript)

    我正在编写一个 PHP CLI 命令行 脚本 如果意外运行 它将造成一些不可逆转的损害 我想在继续执行脚本之前显示 5 秒倒计时器 我怎样才能用 PHP 做到这一点 不要倒计时 假设有人实际上正在观看屏幕并阅读 理解倒计时的含义 完全有可能
  • 单击或按 Enter 键时触发主干事件

    I am new to backbone and I am looking for a way for my button to be triggered when I press Enter as well as clicking Cur
  • 在分区内的多个列上进行 Spark 聚合,无需进行洗牌

    我正在尝试在多个列上聚合数据框 我知道聚合所需的所有内容都在分区内 也就是说 不需要洗牌 因为聚合的所有数据都是分区本地的 采取example http dmtolpeko com 2015 02 12 multi column key a
  • 高级 (?) AND / OR 查询

    对于相当简单的表结构 即 人员 标准和人员标准 组合表 我目前设置了一个查询 选择具有所有选定条件的所有人员 查询本身现在看起来像这样 SELECT p PersonID FROM Person p SELECT DISTINCT Pers
  • 使用开源软件的可填写、可保存表单的 PDF [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的问题是一个延伸this one https stackoverflow com questions
  • 如何在clickhouse中添加列

    我在 clickhouse 中有一个表 称为 my table 其中有重复项 my table rep1 我需要添加一个 float64 类型的列 默认值 1 我该怎么做呢 我希望默认值实际上不会添加到现有条目中 The 文档 https
  • Spring Boot Hibernate中的H2 DB不生成Db Schema

    我希望我的 Spring 应用程序自动生成数据库架构和表 我已经阅读了有关该主题的一些问答 并将数据库 URL 设置为 H2DataSource setUrl jdbc h2 mem tmp db INIT 创建架构 如果不是 存在 GPS
  • C#:通用 T 的默认值?不为空;行为随着通用约束而改变

    我有一个泛型类 应该对 不可为空 引用和值类型 参数 返回 进行操作 但内部需要可以为空的字段 using System public class Gen
  • Java 中的前导零计数 (clz) 或前导零数量 (nlz)

    I need int 32二进制为00100000 or int 127以二进制形式0111 1111 变体Integer toBinaryString仅返回 1 的结果 如果我这样构建 for 循环 for int i 32 i lt 1
  • DOMDocument::loadXML 与 HTML 实体

    我目前在读取 XHTML 时遇到问题 因为 XML 解析器无法识别 HTML 字符实体 因此 p Copyright copy 2010 Some Bloke p EOF imp new DOMImplementati