ホームページ > バックエンド開発 > PHPチュートリアル > 不必要なラッパータグなしで DOMDocument から HTML を保存するにはどうすればよいですか?

不必要なラッパータグなしで DOMDocument から HTML を保存するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-16 05:39:14
オリジナル
374 人が閲覧しました

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 要素が自動的に追加され、デフォルトの 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート