我想用PHP DOM实现来操纵HTML和XHTML文档。我使用DOMDocument-> loadHTML()方法来加载内容。用PHP DOMDocument区分XHTML和HTML
想知道加载的内容是XHTML还是HTML。 DOMDocument有一个doctype对象,它包含文档本身的DOCTYPE声明。到目前为止,我想过比较包含像“ - // W3C // DTD HTML 4.01 // ENtext/html”的$ dom-> doctype-> publicId
有任何人可以想到更好的方法吗?
编辑:
很抱歉,如果我的问题有点不清楚。我更新了这个问题,因为它可能令人困惑。但现在要说清楚:这个问题不是关于一般处理HTML DOM与HTML DOM,还是XHTML是好还是坏。
为什么不修复源文档而不是额外增加服务器开销? – 2011-01-05 23:16:59
你是什么意思?我从来没有说过他们坏了。源文档是用户提供的所有内容。所以可能会有一个有效的DOCTYPE声明。它也可能会丢失。其实我只是好奇,如果有人知道另一种或更好的方式来说,如果它是XHTML或HTML比使用DOMDocument-> doctype。 – 2011-01-05 23:21:18
很确定你加载为html,你应该保存为html。它应该保持原始文档类型声明。您可以使用DOM验证方法根据文档类型声明确定文档是否有效。如果该代码无效,您应该让用户修复代码。 – dqhendricks 2011-01-06 01:52:03