HOME   入り口   MENU


No16.変身しちゃった♪ ---- str_replace関数




文字列中のある言葉を別の言葉に変えたい(置換したい)ときがあります。
例えば「桜が咲いた」を「チューリップが咲いた」などと替えたいなぁってとき(^_^)
そんなときはstr_replace関数が便利に使えます。

str_replace(置換前の言葉,置換後の言葉,元の文章);


<?php
$moji="桜が咲いた";
echo $moji;
$moji=str_replace("桜","チューリップ",$moji);
echo $moji;
?>

実行するとecho表示する値は
桜が咲いた
チューリップが咲いた


と最初が「桜」次に「チューリップ」
が「咲いた」となります。



桜からチューリップに変身!!です。

同じ文のなかに同じ言葉が複数あった場合は?
それも同じように置換されます。
<?php
$moji="桜が咲いた桜って可愛いな";
echo $moji;
$moji=str_replace("桜","チューリップ",$moji);
echo $moji;
}
?>


桜が咲いた桜って可愛いな
チューリップが咲いたチューリップって可愛いな


ね。(^_^)


これだけでもとっても便利なのに
str_replaceはなんと配列の中身も置換してくれるのです。
<?php
$ardata=array("桜が咲いた","桜の歌","キレイな桜♪");
foreach($ardata as $value){
    echo $value ."<BR>\n";
}
echo "<BR>";
$ardata=str_replace("桜","チューリップ",$ardata);
foreach($ardata as $value){
    echo $value ."<BR>\n";
}
?>
桜が咲いた
桜の歌
キレイな桜♪

チューリップが咲いた
チューリップの歌
キレイなチューリップ♪

ととっても便利!!
変身技を使って何か作ってみたくなりますよね♪


サンプル: こう書くと   ==>    こうなる!

str_replaceを使ってドリーム物語作成



(オマケ)
文字列のある位置を指定して置換するときは
substr_replaceを使います。
substr_replace(元の文章,置換後の言葉,開始位置,長さ);


「桜が咲いた桜って可愛いな」の最初の「桜」だけを「チューリップ」に置換するには
$moji=substr_replace($moji,"チューリップ",0,2);
とやれば実現できます。
(注意:最後の長さが2なのは日本語の全角の一文字は長さが2だからです。)
こうすると
「桜が咲いた桜って可愛いな」

チューリップが咲いた桜って可愛いな」
となります。











  HOME