Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Dom\ParentNode::replaceChildren()メソッドの使い方

replaceChildrenメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

replaceChildrenメソッドは、Dom\ParentNodeクラスに属し、指定された親ノードのすべての子ノードを新しいノードまたはテキストコンテンツで置き換える操作を実行するメソッドです。

このメソッドは、既存の全ての子ノードを一度に削除し、その代わりに引数として渡された0個以上のDom\Nodeオブジェクト、あるいはテキストとして扱われる文字列を追加します。つまり、親要素の内部コンテンツを完全に新しい内容で上書きする機能を提供します。

例えば、HTMLやXML文書において、ある要素の内部構造や表示内容を動的に変更したい場合に非常に有効です。既存の子ノードを一つずつ削除してから新しい子ノードを追加するといった、手間のかかる複数の手順を、このメソッド一つで簡潔に実現できます。

引数が何も指定されなかった場合、このメソッドは対象の親ノードの全ての子ノードを削除し、結果として親ノードを空にします。これにより、DOM(Document Object Model)を操作する際、Webページの特定の部分を効率的に更新したり、コンテンツを再構築したりすることが可能になります。

構文(syntax)

1<?php
2
3$document = new Dom\Document();
4$parentElement = $document->createElement('body');
5$document->appendChild($parentElement);
6
7$newChildElement1 = $document->createElement('div', '新しい子要素1');
8$newChildElement2 = $document->createElement('span', '新しい子要素2');
9
10$parentElement->replaceChildren($newChildElement1, $newChildElement2);
11
12?>

引数(parameters)

Dom\Node|string ...$nodes

  • Dom\Node|string ...$nodes: 置換する新しいノードまたは文字列の可変長リスト。既存の子ノードをすべて削除し、指定されたノードまたは文字列で置き換えます。

戻り値(return)

void

このメソッドは子ノードを置き換えますが、何も返しません。

関連コンテンツ