我正在尝试获取PHP DOM文档的根节点。这通常是通过做这样做:从DOM获取根节点文档类
$doc->documentElement;
然而,在包含DOCTYPE一个HTML字符串尝试此:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">...
,并加载到一个DOM文档对象,像这样:
$doc = new DOMDocument();
$doc->loadHTML($html);
返回根节点作为html
标记而不是doctype标记!我猜这是因为奇怪的字符<!
- 是否有正确返回根节点?
[它被称为“元素类型名称”,dammit。](http://www.flightlab.com/~joe/sgml/faq-not 。文本)。 :-)'DOCTYPE'声明是一个SGML构造,它不是文档语法本身的一部分。根*元素*确实是'html'元素。一般来说,SGML声明看起来像'',其中'****'是一些关键字,而这些* *不是文档树的一部分。可以出现在顶层的唯一声明是doctype声明,注释声明'',符号声明(也许标记的部分)。 –