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 要素が自動的に追加され、デフォルトの doctype が追加されるのを防ぎます。この構成により、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 Parameters Documentation](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 中国語 Web サイトの他の関連記事を参照してください。