【PHP8.x】cloneNodeメソッドの使い方

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

作成日: 更新日:

基本的な使い方

cloneNodeメソッドは、DOMCharacterDataクラスのメソッドであり、ノードの複製を作成するために使用されます。具体的には、このメソッドは呼び出し元のノード(この場合はCharacterDataノード)のコピーを生成し、そのコピーを返します。

CharacterDataノードは、XMLドキュメントやHTMLドキュメント内のテキストデータ(例えば、テキストノード、コメントノードなど)を表すノードです。cloneNodeメソッドを使うことで、これらのテキストデータを複製できます。

cloneNodeメソッドは、オプションで引数を受け取ることができます。この引数は、複製する際に子ノードを含めるかどうかを指定する真偽値です。

  • true を指定した場合、ノードとそのすべての子孫ノードが複製されます(ディープコピー)。
  • false を指定した場合、ノード自体のみが複製され、子ノードは複製されません(シャローコピー)。

引数が省略された場合は、false が指定されたものとして扱われます。

cloneNodeメソッドは、元のノードを変更することなく、新しいノードを作成します。このメソッドを使用することで、既存のドキュメント構造を維持しながら、同じデータを複数の場所で使用したり、変更したりすることができます。例えば、同じテキストデータを複数の要素に表示する場合や、ドキュメントの一部を別の場所にコピーする場合などに役立ちます。生成された複製ノードは、必要に応じてドキュメントに追加したり、操作したりすることが可能です。

構文(syntax)

1DOMCharacterData::cloneNode(bool $deep = false): DOMNode

引数(parameters)

bool $deep = false

  • bool $deep = false: ノードとその子ノードをすべて深くコピーするかどうかを指定するブール値。true の場合、すべてコピーします。デフォルトは false で、ノードのみをコピーします。

戻り値(return)

DOMNode

このメソッドは、呼び出し元のDOMCharacterDataノードのディープコピー(子ノードも含めてすべて複製したもの)を返します。

【PHP8.x】cloneNodeメソッドの使い方 | いっしー@Webエンジニア