[英]Differentiating between XHTML and HTML with PHP DOMDocument
我想用PHP DOM實現操作HTML和XHTML文檔。 我使用DOMDocument-> loadHTML()方法加載內容。
想知道加載的內容是XHTML還是HTML。 DOMDocument有一個doctype對象,它包含文檔本身的DOCTYPE聲明。 到目前為止,我想到比較$ dom-> doctype-> publicId,其中包含“ - // W3C // DTD HTML 4.01 // ENtext / html”等字符串
有沒有更好的方式讓人想到?
編輯:
對不起,如果我的問題有點不清楚。 我更新了這個問題,因為它可能令人困惑。 但現在要說清楚:這個問題不是關於用PHP DOM處理HTML或者XHTML是好還是壞。
如果您從外部源加載,您可以檢查文件的MIME類型,看看它是否是application/xhtml+xml
; 如果它是,它絕對是XHTML(當然它可以謊言和服務於那種類型,但有可怕的格式錯誤標記)。 否則,如果它是text/html
那么它將被解析為HTML標簽湯。 除了實際標記的有效性之外 ,doctype聲明是告知內容是否(或聲稱是)HTML或XHTML的下一個最佳方式。
就像你說的,你可以檢查公共標識符和/或URI,並從那里確定類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.