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

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

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

作成日: 更新日:

基本的な使い方

『replaceDataメソッドは、XML処理命令ノードが持つデータの一部を、指定した文字列で置き換える処理を実行するメソッドです』 Dom\ProcessingInstructionオブジェクトは、XML文書内でアプリケーションへの指示を記述する<?target data?>のような処理命令ノードを表します。このメソッドは、ノードのターゲット名ではなく、そのデータ部分の文字列を直接変更するために使用されます。メソッドには3つの引数を指定します。第1引数のoffsetには、置き換えを開始する位置を0から始まる数値で指定します。第2引数のcountには、offsetの位置から置き換える文字の長さを指定します。そして第3引数のdataに、新しく挿入したい文字列を渡します。このメソッドが実行されると、元のノードのデータが直接書き換えられ、処理は完了します。メソッド自体に戻り値はありません。もし指定した開始位置や文字数がデータ全体の長さを超えるなど、不正な値であった場合にはDOMExceptionが発生するため注意が必要です。

構文(syntax)

1<?php
2
3$document = new DOMDocument();
4
5// 処理命令ノードを作成: <?app-version data="1.0.0"?>
6$pi = $document->createProcessingInstruction(
7    'app-version',
8    'data="1.0.0"'
9);
10
11// データ 'data="1.0.0"' の一部を置き換える
12// オフセット6の位置から5文字 ("1.0.0") を "2.0.0" に置き換える
13$pi->replaceData(6, 5, '2.0.0');
14
15// 結果を出力
16// 出力: <?app-version data="2.0.0"?>
17echo $document->saveXML($pi);
18
19?>

引数(parameters)

int $offset, int $count, string $data

  • int $offset: 置換を開始するオフセット(文字位置)を指定する整数
  • int $count: 置換する文字数を指定する整数
  • string $data: 置換する新しいデータを指定する文字列

戻り値(return)

void

このメソッドは、指定された位置から指定された文字数だけノードのデータを置き換えます。戻り値はありません。

関連コンテンツ

関連プログラミング言語