関数の概要
PHPの substr_replace 関数は、指定した文字列の一部分を別の文字列で置き換えるための関数です。文字列の一部を簡単に差し替えたい場合に便利で、部分文字列の位置や長さを細かく指定できます。
パラメータの説明
string $string– 対象となる元の文字列。string $replacement– 置き換える文字列。int $start– 置き換え開始位置。負の値を指定すると文字列の末尾からの位置となります。int|null $length– 置き換える部分の長さ。省略またはnullの場合は、開始位置から文字列の最後まで置き換えます。負の値を使うと置換範囲の調整が可能です。
戻り値
元の文字列のうち、指定した部分を置き換えた新しい文字列を返します。元の文字列は変更されません。
使用例を複数
基本的な使い方
<?php
$text = "Hello World!";
$result = substr_replace($text, "PHP", 6, 5);
echo $result; // Hello PHP!
?>
元の文字列の「World」を「PHP」に置き換えています。位置6から5文字分を置き換える指定です。
置換開始位置を負の値で指定
<?php
$text = "abcdefg";
$result = substr_replace($text, "XY", -3, 2);
echo $result; // abcdXYg
?>
開始位置を末尾から3文字目(「e」の位置)に設定し、2文字分を「XY」に置き換えています。
長さを省略して後ろすべてを置き換え
<?php
$text = "123456789";
$result = substr_replace($text, "ABC", 5);
echo $result; // 12345ABC
?>
開始位置5(0始まり)から後ろすべてを「ABC」に置き換えています。長さを指定しない場合は、末尾までが対象となります。
関連する関数
substr– 文字列の一部分を取り出す関数。str_replace– 文字列中の特定の部分を全て置き換える関数。strpos– 指定した文字列の位置を検索する関数。
まとめ
substr_replace は文字列の一部分を指定して別の文字列に置き換えるのに便利な関数です。開始位置や長さのパラメータを設定することで柔軟に置換範囲を指定できるため、部分的な編集が必要な場面で使い勝手が良いでしょう。実務で文字列操作を行う際にぜひ覚えておきたい関数のひとつです。
