現在の位置: ホーム> 最新記事一覧> PHP Domdocumentクラスの使用チュートリアル:HTMLおよびXMLドキュメントを効率的に処理する

PHP Domdocumentクラスの使用チュートリアル:HTMLおよびXMLドキュメントを効率的に処理する

gitbox 2025-06-28

PHP Domdocumentクラスの使用チュートリアル

PHPでは、Domdocumentクラスは、開発者にHTMLおよびXMLドキュメントを処理する強力なツールを提供します。それを通して、ドキュメントコンテンツを効率的に解析、変更、生成できます。この記事では、domdocumentクラスを使用してHTMLおよびXMLドキュメントをロード、操作、保存する方法について詳しく説明します。

domdocumentオブジェクトを作成します

DomDocumentクラスを使用する場合、最初にドキュメントのコンテンツを操作できるように、ドームドキュメントオブジェクトをインスタンス化する必要があります。

 
$dom = new DOMDocument();

インスタンス化後、後続の操作のためにHTMLまたはXMLドキュメントをロードできます。

HTMLまたはXMLドキュメントのロード

domdocumentは、以下を含むHTMLまたはXMLドキュメントをロードするためのいくつかの方法を提供します。

  • loadhtml() :文字列からHTMLドキュメントをロードします。
  • loadhtmlfile() :ファイルからHTMLドキュメントをロードします。
  • load() :ドキュメントタイプに従って読み込み方法を自動的に選択します。

文字列からHTMLドキュメントをロードする例は次のとおりです。

 
$html = "<html><body><p>Hello, World!</p></body></html>";
$dom->loadHTML($html);

ファイルからHTMLドキュメントをロードすることもできます。

 
$dom->loadHTMLFile('example.html');

または、ファイルタイプに従って自動的にロードします。

 
$dom->load('example.xml');

ナビゲーションと操作のドキュメント

ドキュメントを読み込んだ後、Domdocumentが提供するいくつかの方法を使用して、ドキュメントのコンテンツを操作できます。一般的な操作方法は次のとおりです。

  • getElementsByTagname() :タグ名に従って要素を取得します。
  • CreateElement() :新しい要素ノードを作成します。
  • AppendChild() :親ノードの子としてノードを追加します。
  • RemoveChild() :親ノードから子ノードを削除します。

たとえば、すべての段落要素を取得します。

 
$paragraphs = $dom->getElementsByTagName('p');
foreach ($paragraphs as $paragraph) {
  echo $paragraph->nodeValue;
}

新しいタイトル要素を作成し、ドキュメントに追加します。

 
$newElement = $dom->createElement('h2', 'New Heading');
$parentElement->appendChild($newElement);

ノードを削除します。

 
$parentElement->removeChild($childElement);

HTMLまたはXMLドキュメントを生成します

ドキュメントの操作を完了した後、変更されたドキュメントをHTMLまたはXML形式にエクスポートできます。一般的な方法は次のとおりです。

  • savehtml() :domdocumentオブジェクトをHTML文字列に変換します。
  • savehtmlfile() :domdocumentオブジェクトをHTMLファイルに保存します。
  • save() :ドキュメントタイプに従って保存方法を自動的に選択します。

ドキュメントをHTML文字列に変換します。

 
$htmlString = $dom->saveHTML();

ドキュメントをHTMLファイルとして保存します。

 
$dom->saveHTMLFile('output.html');

またはXMLファイルとして保存します。

 
$dom->save('output.xml');

要約します

PHPのDomdocumentクラスは、HTMLおよびXMLドキュメントを処理するための強力な機能を提供します。それを通して、ドキュメントコンテンツを簡単にロード、ナビゲート、変更、生成できます。 HTMLページを解析する場合でも、XMLファイルを操作する場合でも、DomDocumentは非常に実用的なツールです。