簡體   English   中英

使用PHP DOMDocument區分XHTML和HTML

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM