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

如何在沒有不需要的包裝標籤的情況下保存 DOMDocument HTML?

DDD
DDD原創
2024-12-15 07:47:15789瀏覽

How to Save DOMDocument HTML Without Unwanted Wrapper Tags?

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

問題陳述:

下面的程式碼片段嘗試保存沒有XML、HTML、body 和p 標記包裝器的DOMDocument 的HTML 內容,但它遇到了問題當內容包含區塊級元素時。

$postarray['post_content'] = $d->saveXML($d->getElementsByTagName('p')->item(0));

使用loadHTML 選項修復:

要解決此問題,請使用以下選項的loadHTML() 方法:

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

這些選項指示Libxml 解析HTML,不加入隱含元素或預設元素doctype:

  • LIBXML_HTML_NOIMPLIED: 關閉自動加入隱含的 HTML/body 元素。
  • LIBXML_HTML_NODEFDTD: 防止預設文件類型沒有時加入找到。

結果:

使用這些選項,saveHTML() 現在將輸出 HTML 內容,而無需不必要的包裝。

注意:

  • Libxml 2.6 LIBXML_HTML_NOIMPLIED 需要。
  • LIBXML_HTML_NODEFDTD 需要 Libxml 2.7.8。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn