ホームページ > バックエンド開発 > 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);
ログイン後にコピー

暗黙の HTML 要素と body 要素、またはデフォルトの doctype を自動的に追加しないように Libxml に指示できます。その結果、saveHTML() はこれらのラッパーなしでコンテンツを出力します。

LIBXML_HTML_NOIMPLIED は、暗黙の HTML/body 要素の自動追加をオフにしますが、LIBXML_HTML_NODEFDTD は、入力にデフォルトの doctype が見つからない場合にデフォルトの doctype が追加されるのを防ぎます。

これらのオプションを組み込むことで、不要なラッパーを使用せずに目的の HTML コンテンツを効果的に抽出でき、 DOMDocument のコンテンツをより正確に表現します。

loadHTML() には Libxml 2.6 が必要ですが、LIBXML_HTML_NODEFDTD は Libxml 2.7.8 でのみ使用可能であり、LIBXML_HTML_NOIMPLIED は Libxml 2.7.7 で使用できることに注意することが重要です。 Libxml パラメータの包括的な理解については、公式ドキュメントを参照してください。

以上がラッパータグなしで DOMDocument から HTML を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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