我正在嘗試獲取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聲明,註釋聲明'',符號聲明(也許標記的部分)。 –