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

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

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

作成日: 更新日:

基本的な使い方

『cloneNodeメソッドは、既存のエンティティ参照ノードを複製し、新しいノードオブジェクトを生成するメソッドです。このメソッドは、Dom\EntityReference オブジェクト、すなわち &< のようなXMLドキュメント内のエンティティ参照を表すノードの正確なコピーを作成します。引数として論理値 $deep を受け取り、複製の範囲を制御します。$deeptrue を指定すると、そのノード自身だけでなく、そのノードが持つすべての子孫ノードも再帰的に複製します。これは「ディープコピー」と呼ばれます。一方、$deepfalse を指定するか、引数を省略した場合は、そのノード自体のみが複製され、子ノードは一切複製されません。これは「シャローコピー」と呼ばれます。メソッドの実行が成功すると、複製された新しいノードオブジェクトが返されます。この新しいノードは元のノードとは独立しており、ドキュメントにはまだ追加されていない状態です。この機能は、DOMツリー内で特定の構造を再利用したい場合に非常に便利です。

構文(syntax)

1$cloned_node = $dom_entity_reference->cloneNode(bool $deep = false);

引数(parameters)

bool $deep = false

  • bool $deep = false: trueの場合、子ノードを含む全てを再帰的にコピーします。falseの場合、そのノードのみをコピーします。

戻り値(return)

Dom\Node

このメソッドは、元のノードのディープコピー(子要素や属性もすべて複製したもの)を新しい Dom\Node オブジェクトとして返します。

関連コンテンツ

関連プログラミング言語