PHP str_replace() 関数

❮ PHP 文字列リファレンス

文字列 "Hello world!" の中の "world"(大文字小文字を区別しない)の文字を "Peter" で置き換えます:

<?php
echo str_replace("world","Peter","Hello world!");
?>
例の実行 »

定義と用法

str_replace() 関数は、文字列内の或る文字を別の文字に置き換えます。

この関数は、次の規則に従って動作します:

注: この関数は大文字と小文字を区別します。大文字と小文字を区別しないで検索するには、 str_ireplace() 関数を使用します。

注: この関数はバイナリセーフです。


構文

str_replace(find,replace,string,count)

パラメータ 説明
find 必須。検索したい値を指定する
replace 必須。検索した値を置き換える値を指定する find
string 必須。検索・置換の対象となる文字列または配列を指定する
count 任意。置換の数をカウントする変数

技術内容 この関数の挙動がかわりました。以前のバージョンにはバグがあり、みませんでした。 ので、このバグを前提としたスクリプトは、 この関数をコールする前に空の検索値を削除しておく必要があります。
返り値: 置換した文字列あるいは配列を返します
PHP バージョン: 4+
変更歴 countパラメータは、PHP 5.0で追加されました

PHP 4.3.3 以前は、findreplace の両方に配列を指定した場合に、空の find 添字をスキップしても replace 配列上の内部ポインタが進まないという問題がありました。新しいバージョンでこのバグは修正されました

PHP 4.0.5以降、ほとんどのパラメータに配列を渡せるようになりました

その他の例

例 1

配列とcount変数を持つ str_replace() を使用します:

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>
例の実行 »

例 2

findよりもreplaceの要素の少ない str_replace() を使用します:

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>
例の実行 »

❮ PHP 文字列リファレンス