気持ちが良いIT技術を学ぶ

str_replaceで文字列を置換する方法

2023年08月26日に更新, By 管理者

PHPで文字列内の特定の部分文字列を別の文字列で置換するための関数です。
基本的な構文は以下の通りです。

str_replace($search, $replace, $subject, $count);

$search: 置換したい文字列または文字列の配列(検索対象)
$replace: $search にマッチする部分文字列を置き換える文字列または文字列の配列(置換後の内容)
$subject: 置換を行う対象の文字列または文字列の配列
$count(オプション): 置換が行われた回数が格納される変数
$search が文字列の場合、最初に見つかった一致する箇所が置換されます。
もし $search が文字列の配列であれば、それぞれの配列要素に対して置換が行われます。

以下にいくつかの例を示します。
単一の文字列の置換

$original = "Hello, world!";
$replacement = str_replace("world", "Test", $original);

echo $replacement;  // 出力: "Hello, Test!"

文字列の配列の置換

$original = "apple, banana, cherry";
$replacement = array("orange", "grape", "strawberry");
$new_string = str_replace(array("apple", "banana", "cherry"), $replacement, $original);

echo $new_string;  // 出力: "orange, grape, strawberry"

置換回数のカウント

$fruits = array("apple", "orange", "melon", "apple");
$replace = str_replace("apple", "melon", $fruits, $count);

print_r($replace);
echo '置換した回数: '.$count;

// 出力
Array
(
    [0] => melon
    [1] => orange
    [2] => melon
    [3] => melon
)
置換した回数: 2

注意: str_replace は新しい文字列を返すだけで、元の文字列自体を変更しません。
もし元の文字列も変更したい場合は、新しい文字列を元の変数に代入する必要があります。

また、大文字と小文字を区別しない置換を行いたい場合は、str_ireplace 関数を使用することができます。