首頁 > 後端開發 > php教程 > 如何從 DOMDocument 儲存 HTML,而不使用不必要的包裝標籤?

如何從 DOMDocument 儲存 HTML,而不使用不必要的包裝標籤?

Mary-Kate Olsen
發布: 2024-12-16 05:39:14
原創
372 人瀏覽過

How to Save HTML from DOMDocument Without Unnecessary Wrapper Tags?

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

當前的任務是從DOMDocument 物件中提取HTML 內容,而不將其包裝在不必要的內容中HTML 標籤。令人擔憂的是,在使用 saveXML 時,它添加了 XML、HTML、body 和 p 標籤包裝器。

隨著 PHP 進步到版本 5.4,Libxml 進步到 2.6,解決方案已經出現。 loadHTML 函數現在接受一個 $option 參數來控制如何解析內容。

為了解決這個問題,我們可以使用以下選項來載入 HTML:

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

這些選項會停用自動新增隱含的 html/body 元素並防止新增預設文件類型。此配置可確保在呼叫 saveHTML 時,輸出不會包含有問題的包裝器。

LIBXML_HTML_NOIMPLIED: Turns off the automatic adding of implied html/body elements.
LIBXML_HTML_NODEFDTD: Prevents a default doctype from being added when one is not found.
登入後複製

有關Libxml 參數的完整文檔,請參閱:[Libxml 參數文檔](https://www.php .net/manual/en/libxml.constants.php#libxmlconstants.constants.html )

值得注意的是,雖然loadHTML 文件提到需要Libxml 2.6,LIBXML_HTML_NODEFDTD 僅在 Libxml 2.7.8 中可用,LIBXML_HTML_NOIMPLIED 在 Libxml 2.7.7 中可用。

以上是如何從 DOMDocument 儲存 HTML,而不使用不必要的包裝標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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