PHPで文字列を置換する方法:str_replace()

PHPで文字列を置換するときはstr_replace()を使用します。

文字列を検索し置換する

str_replace()の記述方法は以下のとおりです。

str_replace(検索文字列, 置換文字列, 対象文字列 [, 置換した回数を格納する変数])

返り値には置換後の文字列が返されます。第4引数は省略できますが、変数を渡すことで置換した回数が渡した変数に格納されます。

たとえば「MovaleType」という文字列があったら「WordPress」に変換する場合は以下のようなコードなります。

<?php
$str = "MovableType is written in PHP";
echo str_replace("MovableType", "WordPress", $str);
?>

上のプログラムを実行すると「MovaleType」が「WordPress」に置換されます。

WordPress is written in PHP

配列に格納された文字列を検索し置換する

引数には配列を設定することもできます。また、引数に配列と文字列を混ぜて渡すことも可能です。

str_replace(検索配列文字列, 置換配列文字列, 対象配列文字列 [, 置換した回数の変数])

第3引数に配列を設定すると返り値に置換後の配列が返されます。

以下は配列を引数に渡した場合の例です。

<?php
$object_arr  = ["PHP", "Python", "Perl", "Prolog"];
$search_arr  = ["P", "o"];
$replace_arr = ["A", "B"];
$result_arr  = str_replace($search_arr, $replace_arr, $object_arr);
print_r($result_arr); 
?>

上のプログラムでは、「P」を「A」に「o」を「B」に置換しています。対象を配列にすると結果は配列で返されます。

Array
(
    [0] => AHA
    [1] => AythBn
    [2] => Aerl
    [3] => ArBlBg
)