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

【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 を返します。

関連コンテンツ

関連プログラミング言語