我想用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