使用 PHP DOMDocument 区分 XHTML 和 HTML

2024-03-10

我想使用 PHP DOM 实现来操作 HTML 和 XHTML 文档。我使用 DOMDocument->loadHTML() 方法来加载内容。

想知道加载的内容是 XHTML 还是 HTML。 DOMDocument 有一个 doctype 对象,其中包含文档本身的 DOCTYPE 声明。到目前为止,我考虑比较 $dom->doctype->publicId 其中包含类似“-//W3C//DTD HTML 4.01//ENtext/html”的字符串

大家能想到更好的办法吗?

Edit:

抱歉,如果我的问题有点不清楚。我更新了这个问题,因为它可能令人困惑。但现在要澄清的是:这个问题并不是关于一般使用 PHP DOM 处理 HTML 或 XHTML 是好是坏。


如果您从外部源加载,您可以检查文件的 MIME 类型并查看它是否是application/xhtml+xml;如果是,那么它绝对是 XHTML(当然它可以使用该类型,但带有严重畸形的标记)。否则如果是text/html然后它会被解析为 HTML 标签汤。实际标记的有效性aside,doctype 声明是判断内容是(或声称是)HTML 还是 XHTML 的下一个最佳方式。

正如您所说,您可以检查公共标识符和/或 URI 并从中确定类型。

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

使用 PHP DOMDocument 区分 XHTML 和 HTML 的相关文章

  • 在 Laravel 中动态设置数据库连接和语言

    我有 3 个域指向同一个Laravel应用 我想要的是每个人都连接到自己的数据库并根据 TLD 加载自己的语言文件 我可以在哪个文件中设置这些设置 我可以直接在配置文件中执行此操作 或者可以在加载配置之前执行某些事件 我拥有的是一个简短的函
  • 我应该使用哪种文档类型?

    如果我想使用可定制的 div 我应该使用哪种文档类型 具有div动画 图像移动 设置div不透明度等 我尝试通过 javascript 创建一个 div 设置其背景颜色 位置 宽度和高度 并向其添加 onmouseover 事件 一切正常
  • 删除 woocommerce 店面主页标题 php

    我正在使用 woocommerce 的店面主题 我需要用 php 删除主页标题 h1 我知道 css 解决方案 但我不想使用它 因为我想将 h1 添加到该页面的其他位置 并且在一个页面中包含 2 个 h1 对 seo 不利页 我也知道删除页
  • 在 null laravel 上调用成员函数 save()

    大家好 我正在使用 laravel 5 多态关系将数据保存在数据库中 但我遇到了一些问题 当我尝试将数据保存在数据库中时 它会抛出此错误 对 null 调用成员函数 save 我不知道为什么我会遇到这个错误 我正在关注多态关系的本教程在 L
  • 使用 jQuery 更改父元素样式

    我有下一个 html 设置 div class one div class two a href class three Click a div div 我想更改具有类的元素的背景颜色 one当我点击元素时 three使用 jQuery 这
  • 重新排列数组键 php [重复]

    这个问题在这里已经有答案了 我有这个数组 Array 15 gt 13 1 16 gt Mark one answer 19 gt You see a car on the hard shoulder of a motorway with
  • 如何在通过 .ajaxForm() 提交表单之前执行一些操作?

    我正在使用 ajaxForm 框架来发送我的数据 而无需重新加载我的页面 ReplayForm ajaxForm success function data alert Success 现在 我想在提交表单之前检查一些条件 如果条件为假 则
  • 如何处理 Django 中的错误

    我想让我的 django 应用程序尽可能对用户友好 并且我想处理适当的错误并让它推出类似于 javascript 中的警报的错误消息 我想在没有上传文件时执行此操作 因此 当按下上传按钮并且尚未上传任何内容时 将会发出一条警报消息 我的看法
  • Windows iis 7.0 上的 APC 不稳定

    我的 IIS 非常不稳定 因为它总是由于某种与 APC 相关的原因而重新启动 服务器的规格如下 Intel R Xeon CPU 3GHZ 3GHZ 2GB RAM 64bit APC 和服务器规格 3 1 7 dev PHP Versio
  • phpinfo 说 php.ini 路径是 C:\Windows 但那里没有 php.ini

    我们正在尝试从 PHP5 切换到 PHP7 现在我们已经安装了 Apache 并且 PHP 可以运行了 然而 我们在php ini文件没有任何作用 Via phpinfo 我们意识到原因是Configuration File php ini
  • 简单的dom php解析获取自定义数据属性值

    HTML div class something ddsf PHP foreach dom gt find something data rel as this var dump this gt attr 我尝试了这个但错误 在其文档中找不
  • JSP/Servlet HTTP 404 错误处理

    我想在我的网络应用程序中处理 HTML 404 错误 我可以这样写
  • wordpress - 像 stackoverflow 中那样内嵌 ajax 注释

    我有一个 WordPress 博客 希望为人们提供与 stackoverflow 中添加评论相同的用户体验 有很多评论 ajax 插件 但我找不到一个可以使用的插件 它允许您在主页上内联 进入并添加评论 而无需先深入到单独的单个帖子页面 任
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 如何确保在 PHP 的“foreach”循环中重置该值?

    我正在写一个简单的 PHP 页面和一些foreach使用了循环 以下是脚本 arrs array a b c foreach arrs as arr if substr arr 0 1 b echo This is b End of fir
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队
  • PHP 中的多个插入查询[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个 php html 表单 它将结果插入到狗展数据库中 问题是 无论我做什么 我都会收到此错误 查询失败 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在 INSE
  • 将特定字形与网络字体一起使用

    使用网络字体 我想使用字体功能设置 CSS 中的选项以及跨度类HTML 中 以便使用字体集中的特定替代字形 我需要以正确的语法使用哪些值 GID Unicode 才能定位特定的目标glyph内glyph备择方案 这些功能使用 OpenTyp
  • 如何在 Carbon Laravel 中添加日期和另一个日期?

    在我的 laravel 项目中 我想将日期时间增加到前一个日期时间 这是我的代码 expire order 0 gt expire date new Carbon now gt addMonths 6 这两行的结果是 2018 01 28

随机推荐

  • Python:从图像中删除 Exif 信息

    为了减小网站中使用的图像大小 我将质量降低到 80 85 这在一定程度上大大减小了图像尺寸 为了在不影响质量的情况下进一步减小尺寸 我的朋友指出 来自相机的原始图像有很多称为 Exif 信息的元数据 由于网站中的图像不需要保留此 Exif
  • iOS Geofence CLCircularRegion 监控。 locationManager:didExitRegion 似乎没有按预期工作

    我目前正在尝试让我的应用程序使用以下方式监视特定区域CoreLocation然而我发现它似乎没有按预期工作 在我看来 它不能在每个位置设置较小的小半径 即 10m 的情况下工作 我还制作了一个小测试应用程序 它绘制了圆半径在地图上 这样我就
  • 包含文件存储在哪里 - Ubuntu Linux、GCC

    因此 当我们执行以下操作时 include
  • 如何检查 numpy 数组是否已经存在?

    我想知道数组是否已经在代码中的某个位置定义过 就像是a exist 如果存在则给出 True 如果不存在则给出 False I tried a size 但是如果该数组尚不存在 它会给出一条错误消息 这是我想避免的 如果您想知道的话 要求这
  • 如何更改ionic 2本地推送通知图标?

    我使用创建了一个混合应用程序ionic2因为我正在使用科尔多瓦本地推送通知 一切都工作正常 唯一的问题是无法更改图标 在下面我将我的代码粘贴到这里 LocalNotifications schedule id 1 title Test Ti
  • 删除等值线图上的边缘线

    我用Matlab创建了一个极坐标并将其转换为笛卡尔坐标 th r meshgrid 0 0 5 360 pi 180 0 02 1 X Y pol2cart th r 我获取该网格上的数据并生成contourf绘制它 我的问题是我在轮廓图中
  • 从 NSDictionary 转换为 [String:Any?]

    我正在使用 xmartlabs Eureka 构建一个具有动态表单的应用程序 为了填写表格 我必须使用setValues values String Any 但我有表单值NSDictionary变量 我无法将其转换为 String Any
  • 在 Windows 中获取另一个进程命令行

    我正在尝试获取另一个进程的命令行参数 在 WinXP 32 位上 我执行以下操作 hProcess OpenProcess PROCESS QUERY INFORMATION PROCESS VM READ PROCESS TERMINAT
  • 处理大位图

    我只想从我的应用程序打开本机相机应用程序来捕获照片并将其设置为屏幕的背景图像 然后单击按钮旋转它 如果使用 3MP 相机拍摄 照片会旋转 n 次 如果我将相机分辨率设置为 5MP 或更高 应用程序将在第五次单击按钮时强制关闭 照片旋转 4
  • C# 中两个数组的关联

    有两个双精度值数组 我想计算相关系数 单个双精度值 就像 MS Excel 中的 CORREL 函数 C 中有一些简单的单行解决方案吗 我已经发现了名为 Meta Numerics 的数学库 根据这个问题 https stackoverfl
  • Python 调用函数的字符串格式

    有没有办法使用新的格式语法格式化函数调用中的字符串 例如 my request url was 0 get full path format request 所以它调用了该函数get full path 功能inside字符串而不是作为格式
  • 是否有一个很好的 emacs 模式来显示和编辑巨大的分隔符分隔的文件?

    我一直在寻找一段时间 但没有找到一种可以轻松编辑大型制表符 逗号 冒号分隔文件的模式 我一直想要一种确保列始终对齐的模式 就像组织模式表一样 我知道我可以轻松地将整个文件转换为组织模式表 然后在完成后将其返回 但是对于大文件来说 这会变得非
  • 如何在java中创建方法的监听器

    我在实现方法的侦听器时遇到了非常糟糕的时间 在我当前的工作中 我必须每 5 秒请求一个方法 以便验证新信息 因此我想实现一种方法 每次有新信息到来时通知我 每 5 秒丢弃请求方法 我已经阅读过有关观察者模式的内容 但没有成功实施 此致 更多
  • 正则表达式从电子邮件地址中提取顶级域名

    来自电子邮件地址 例如 email protected cdn cgi l email protection email protected cdn cgi l email protection email protected cdn cg
  • 将 os.system() 的输出存储在变量中

    我正在为我的 Hangman 游戏生成一个随机单词 因此想要生成一个随机单词 我正在使用 usr share dict words文件并执行以下操作 def word select import os word os system head
  • 即使登录成功,Yii::app()->user->isGuest 也始终返回 true

    我开始对已通过身份验证的用户和未通过身份验证的用户进行一些区分 为此 我正在使用 Yii app gt user gt id 但是 在确定的视图中 我输入了以下代码 无论我是否登录 成功 我总是收到
  • 监控所有 JavaScript 对象属性(神奇的 getter 和 setter)

    如何在 JavaScript 中模拟 PHP 风格的 get 和 set 魔术 getter setter 很多人说 目前这是不可能的 我几乎可以肯定这是可能的 因为像 nowjs 这样的项目 http nowjs com http now
  • 是否有 R 函数用于检查指定的 GeoJSON 对象(多边形或多多边形)是否包含指定点?

    我有一系列点 Sheet1 CoM ID 1040614 Genus Washingtonia Year Planted 1998 Latitude 37 81387927 Longitude 144 9817733 CoM ID 1663
  • Javascript,跟踪 iframe 重定向顶部窗口

    由于除了沙箱之外 没有办法阻止 iframe 重定向顶部框架 沙箱会阻止可见性跟踪所需的其他功能 因此我想跟踪重定向 由于一个站点可以有多个 iframe 因此它可以是其中任何一个 有没有办法跟踪 找出哪个 特定的 iframe 导致顶部框
  • 使用 PHP DOMDocument 区分 XHTML 和 HTML

    我想使用 PHP DOM 实现来操作 HTML 和 XHTML 文档 我使用 DOMDocument gt loadHTML 方法来加载内容 想知道加载的内容是 XHTML 还是 HTML DOMDocument 有一个 doctype 对