【PHP8.x】Dom\ProcessingInstruction::deleteData()メソッドの使い方
deleteDataメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
deleteDataメソッドは、処理命令(Processing Instruction)ノードが持つデータ文字列の一部を削除するために実行するメソッドです。このメソッドはDom\CharacterDataクラスから継承されており、XML文書などで見られる<?target data?>という形式の処理命令において、dataにあたる部分の文字列を操作します。メソッドを呼び出す際には2つの整数値を引数として指定します。第一引数のoffsetは、削除を開始する文字の位置を0から始まるインデックスで指定します。文字列の先頭から削除を開始する場合は0を指定します。第二引数のcountは、offsetで指定された位置から何文字削除するかを指定します。このメソッドは、データの削除に成功した場合にtrueを返し、失敗した場合にはfalseを返します。引数offsetにデータの長さを超える値や負の値を指定するとDOMExceptionが発生します。また、引数countに負の値を指定した場合はValueErrorが発生するため、適切な値を指定する必要があります。
構文(syntax)
1<?php 2 3// 処理命令ノードを作成します。 4// データは 'version="1.0" mode="test"' です。 5$pi = new Dom\ProcessingInstruction('app-config', 'version="1.0" mode="test"'); 6 7// ノードのデータから一部分を削除します。 8// deleteData(int $offset, int $count): bool 9// $offset: 削除を開始する位置(0から始まるインデックス) 10// $count: 削除する文字数 11$pi->deleteData(15, 11); // " mode="test"" の部分を削除 12 13// 変更後のデータを出力します。 14// 出力: version="1.0" 15echo $pi->data; 16 17?>
引数(parameters)
int $offset, int $count
- int $offset: 削除を開始する文字位置を指定する整数
- int $count: 削除する文字数を指定する整数
戻り値(return)
bool
このメソッドは、DOMツリーからこの処理命令ノードを削除できたかどうかを示す真偽値を返します。処理命令ノードが正常に削除された場合は true を、そうでない場合は false を返します。