この関数は、subject の中の search を全て replace に置換します。(正規表現のような)技巧的な置換ルールを 必要としない場合、ereg_replace() または preg_replace() の代わりにこの関数を常用するべきです。
PHP 4.0.5 以降、str_replace() の全てのパラメータを 配列 (array) とすることが可能です。
警告 |
PHP 4.3.3 より前のバージョンには、 search と replace の両方に配列を指定した場合に発生する、 空のsearch添字をスキップする際に replace配列上の内部ポインタを進めないという バグがあります。 このバグは PHP 4.3.3 で修正されており、 このバグに基づくスクリプトは、この関数をコールする前に空の検索値を 削除しておく必要があります。 |
subject が配列の場合、 subject の各エントリについて検索と置換が行われ、 返り値は同様に配列となります。
search と replace が配列の場合、str_replace() は各配列から値をひとつ取り出し、 subject 上で検索と置換を行うために使用します。 replace の値が search よりも少ない場合、 置換される値の残りの部分には空の文字列が使用されます。 search が配列で replace が文字列の場合、この置換文字列が search の各値について使用されます。しかし、 逆は意味がありません。
注意: この関数はバイナリデータに対応しています。
注意: PHP 5.0.0 以降、一致して置換された対象文字列 (search) の数が、参照渡しされた count に返されます。 PHP 5.0.0 より前のバージョンでは、このパラメータは利用できません。
str_ireplace(), substr_replace(), ereg_replace(), preg_replace(), strtr() も参照ください。