str_replace-文字列関数

str_replace関数は検索文字列に一致したすべての文字列を置換し、置き換えた後の文字列を返す関数です。以下に使用例を示します。
//str_replace ("検索文字列", "置換え文字列", "対象文字列");

$str = "PHP入門";
$str = str_replace("PHP", "PHP5", $str);
echo $str;
1番目の引数には検索する文字列を指定し、2番目の引数には検索にマッチした時に置き換える文字列を指定します。 3番目の引数に検索対象が含まれる文字列を指定します。
str_replace関数は"対象文字列"から"検索文字列"を検索し、マッチした文字を"置換え文字列"に置き換えます。
上記の例では"PHP入門"から"PHP"が検索され、検索にマッチした"PHP"が"PHP5"に置き換えられるということになります。 したがって、変数strの値は PHP5入門 となります。

検索文字列に配列を指定した場合

1番目の引数"検索文字列"に配列を指定すると配列要素の全てを検索文字列とする事が可能です。 以下に例を示します。
$search = array("CGI", "JAVA");
$str = "CGI入門とJAVA実践講座";
$str = str_replace($search, "プログラミング", $str);
echo $str;
この場合、配列searchの要素、"CGI"、"JAVA"が検索文字列となるので、 変数strの値の中の"CGI"、"JAVA"が全て"プログラミング"に置き換えられる事になり、  プログラミング入門とプログラミング実践講座 が出力される事になります。

検索文字列と置き換え文字列を配列を指定した場合

検索及び、置き換え文字列に配列を指定した場合は各要素に対応して検索と置き換えが行われます。以下に例を示します。
$search  = array("CGI", "JAVA");
$replace = array("図解CGI", "図解JAVA");
$str = "CGI入門とJAVA入門";
$str = str_replace($search, $replace, $str);
echo $str;
この場合、各配列要素に対応して検索と置き換えが行われるので、 要するに$search[0]が$replace[0]に置き換えられ、$search[1]が$replace[1]に置き換えられます。 したがって、置き換え後の文字列は 図解CGI入門と図解JAVA入門 となります。

なお、置き換え文字列に指定した配列要素の個数が 検索文字列配列より少ない場合は対応する要素以外は全て空の文字列に置き換えられることになります。以下に例を示します。
$search  = array("CGI", "JAVA"); //要素が二つ
$replace = array("図解CGI"); //要素が一つ
$str = "CGI入門とJAVA入門";
$str = str_replace($search, $replace, $str);

//検索配列要素"JAVA"に対応する置き換え文字列が
//$replaceに存在しないためJAVAは空の文字列に置き換えられる
echo $str; //図解CGI入門と入門