首頁 > 後端開發 > php教程 > 如何在沒有包裝標籤的情況下從 DOMDocument 儲存 HTML?

如何在沒有包裝標籤的情況下從 DOMDocument 儲存 HTML?

Susan Sarandon
發布: 2024-12-15 05:34:13
原創
635 人瀏覽過

How Can I Save HTML from DOMDocument Without the Wrapper Tags?

在沒有HTML 包裝器的情況下保存DOMDocument 的HTML

此問題解決了使用DOMDocument 時的一個常見問題:提取HTML 內容而不包含HTML、正文和段落標記。當 saveXML() 將這些包裝器附加到輸出時,就會出現問題。雖然建議的在第一個段落元素上使用 saveXML() 的修復方法僅適用於沒有區塊級元素的內容,但本文探討了一個全面的解決方案。

解決此問題的關鍵在於 $option 的引入PHP 5.4 和 Libxml 2.6 中 loadHTML() 中的參數。透過使用以下選項:

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
登入後複製

我們可以指示 Libxml 不要自動新增隱含的 HTML 和 body 元素或預設的 doctype。因此,saveHTML() 將輸出沒有這些包裝器的內容。

LIBXML_HTML_NOIMPLIED 會關閉隱含 HTML/body 元素的自動添加,而 LIBXML_HTML_NODEFDTD 會在輸入中找不到預設文件類型時阻止新增預設文件類型。

透過合併這些選項,我們可以有效地提取所需的 HTML 內容,而無需不需要的包裝器,從而確保更準確地表示DOMDocument 的內容。

需要注意的是,loadHTML() 需要 Libxml 2.6,而 LIBXML_HTML_NODEFDTD 僅在 Libxml 2.7.8 中可用,LIBXML_HTML_NOIMPLIED 在 Libxml 2.7.7 中可用。想要全面了解Libxml參數,請參考官方文件。

以上是如何在沒有包裝標籤的情況下從 DOMDocument 儲存 HTML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板