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

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

作成日: 更新日:

基本的な使い方

deleteDataメソッドは、PHPのDOM拡張機能において、XMLやHTML文書内のコメントノードを表すDOMCommentクラスに属し、そのコメントノードが保持するテキストデータの一部を削除するメソッドです。

このメソッドは、2つの引数を取ります。最初の引数であるoffsetは、コメントデータ内で文字の削除を開始する位置を0から数えた数値で指定します。例えば、offsetが0であればコメントの先頭から、1であれば2文字目から削除が開始されます。二番目の引数であるcountは、offsetで指定した位置から、削除したい文字数を指定します。

具体的には、DOMCommentオブジェクトが持つコメント文字列から、offsetで指定された開始位置からcountの長さ分の文字が取り除かれます。この操作は、対象となるコメントノードのデータを直接変更します。もしoffsetの値がコメントデータの長さを超えていたり、offsetcountの合計がコメントデータの長さを超えてしまうような不正な指定があった場合、DOMExceptionというエラーが発生する可能性がありますので、引数の指定には十分な注意が必要です。このメソッドは、処理が成功しても特に値を返しません。

構文(syntax)

1<?php
2
3// XML文字列を準備します
4$xmlString = '<?xml version="1.0" encoding="UTF-8"?><root><!--This is a sample comment.--></root>';
5
6// DOMDocumentオブジェクトを作成し、XMLを読み込みます
7$dom = new DOMDocument();
8$dom->loadXML($xmlString);
9
10// コメントノードを取得します
11// DOMDocumentには子ノードとしてコメントノードがあります
12$commentNode = $dom->firstChild->nextSibling;
13
14// deleteData(offset, count) を使ってコメントのテキストを部分的に削除します
15// offset: 削除を開始する位置 (0から数える)
16// count: 削除する文字数
17// この例では、5番目の位置から10文字 ("is a sample") を削除します
18$commentNode->deleteData(5, 10);
19
20// 変更後のXMLを出力します
21echo $dom->saveXML();
22
23?>

引数(parameters)

int $offset, int $count

  • int $offset: 削除を開始する位置を指定する整数
  • int $count: 削除する文字数を指定する整数

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語