str_replace関数の基本構文
str_replace関数はある対象文字列の中の一致した文字列Aを文字列Bに置換します。
str_replace ( array|string $search , array|string $replace , string|array $subject , int &$count = null )
置換元の文字列Aが複数あっても全て変換されます。
日本語などのマルチバイト文字列も変換可能です。
また配列の中身を置換したり、置換元と置換先のを配列で複数指定することもできます。
パラメータ
「ある対象文字列」の中の「文字列A」を全て「文字列B」に置換するとします
型 | 名前 | 初期値 | 説明 |
array|string | $search | 置換元の文字列A(配列も可) | |
array|string | $replace | 置換先の文字列B(配列も可) | |
string|array | $subject | 対象の文字列。この文字列にA→Bを適用する。(配列も可) | |
int | &$count | null | 変換した個数が格納される |
返り値(戻り値)
型 | 説明 | 例 |
string|array | 置換後の対象文字列、配列 |
str_replace関数の使い方
文字列を部分置換するサンプルソースコード
$str = "これはペンです";
echo $str . PHP_EOL; //これはペンです
$str = str_replace("ペン", "アップル", $str); //ペン→アップル変換
echo $str . PHP_EOL; //これはアップルです
出力
これはペンです
これはアップルです
改行コードをhtmlタグに変換させるサンプルソースコード
改行などのエスケープシーケンスも置換できます。
$str = "これはペンです。\r\nこれはアップルです。";
$str = str_replace("\r\n", "<br/>", $str);
echo $str . PHP_EOL;
出力
これはペンです。
これはアップルです。
これはペンです。<br/>これはアップルです。
置換した文字列の数を確認するサンプルソースコード
$str = "これはペンです";
echo $str . PHP_EOL;
$str = str_replace("ペン", "アップル", $str, $count);
echo $str . PHP_EOL;
echo "置換数: " . $count . PHP_EOL;
出力
これはペンです
これはアップルです
置換数: 1
置換元A、置換先Bを配列で指定するサンプルソースコード
原則、配列AとBは同じ数の配列でなくてはいけません
//これ→それ、ペン→パイナップルを配列指定で変換
$str = "これはペンです";
$array_from = array("これ", "ペン");
$array_to = array("それ", "パイナップル");
$str = str_replace($array_from, $array_to, $str);
echo $str . PHP_EOL;
出力
これはペンです
それはパイナップルです
配列の置換元A、置換先BのBが少なかったら?のサンプルソースコード
配列Aよりも配列Bの要素数が少ない場合は空に変換されます。
//配列指定でtoを省略すると空になる
$str = "これはペンです";
$array_from = array("これ", "ペン");
$array_to = array();
$str = str_replace($array_from, $array_to, $str);
echo $str . PHP_EOL;
出力
これはペンです
はです
配列の中身を置換するサンプルソースコード
//配列の中身を変換
$array = array("これはペンです", "それもペンです");
print_r($array);
$array_from = array("ペン");
$array_to = array("アップル");
$array = str_replace($array_from, $array_to, $array);
print_r($array);
Array
(
[0] => これはペンです
[1] => それもペンです
)
Array
(
[0] => これはアップルです
[1] => それもアップルです
)
コメント