2015年11月5日

PHP 文字列 置換 str_replace

«
»

Pocket

今回は「文字列の置換」をする関数を紹介します。
まずはサンプルプログラムをみてみましょう。
 


<?php

$moji = "隣の竹やぶに竹立てかけたのは、竹立てかけたかったから竹立てかけたのさ";

$moji2 =  str_replace("やぶ", "ヤブ", $moji); //「やぶ」を「ヤブ」に置換

echo $moji2;


実行結果

php str_replace

解説

php str_replace 置換
 
サンプルプログラムは$mojiから「やぶ」という文字を「ヤブ」に置換する
プログラムでした。実行結果を見るとカタカナになっているのがわかると思います。
 
str_replaceはその名の通り、String(文字列)のreplace(=置き換え=置換)です。
 
str_replace(検索する文字列,置換後の文字列,置換したい文字列);
という形式で利用し、返り値として置換後の文字列が返ってきます。
 
$mojiの中に「やぶ」は1回しかでてきませんので、その文字が「ヤブ」に置換され、
$moji2には置換後の文字列が入っています。
 

検索する文字列が複数あった場合

以下の様なサンプルプログラムをみてみましょう。
 


<?php

$moji = "隣の竹やぶに竹立てかけたのは、竹立てかけたかったから竹立てかけたのさ";

$moji2 =  str_replace("竹", "梅", $moji); //「竹」を「梅」に置換

echo $moji2;

実行結果

PHP str_replace 複数

解説

今回は「竹」を「梅」に置換するプログラムにしました。
「竹」は$mojiの中に複数ありますが、str_replaceでは全ての「竹」を置換します。
 
全部置換されるのは困る、最初の1回だけにして欲しいという場合は
str_replace関数では対応することができません
 
これに関してはまた次回書いていきたいと思います。

まとめ

・mb_substr(検索する文字列,置換後の文字列,置換したい文字列)で文字列の置換ができる
・str_replaceでは検索された文字の全てが置換される

【関連する記事】