str_replace( mixed $search, mixed $replace, mixed $subject[, int &$count] )
は、対象文字列「$subject」の中の、検索文字列「$search」に一致する部分文字列を、置換文字列「$replace」に置き換える組み込み関数。
検索文字列「$search」、置換文字列「$replace」、対象文字列「$subject」を、それぞれ配列で指定し、複数の置換を一括して行うこともできる。
str_ireplace( mixed $search, mixed $replace, mixed $subject[, int &$count] )と似ているが、大文字と小文字を区別する点が異なる。
定義
パラメータ
- 多様な型 $search
検索文字列を指定する。
検索文字列を格納した配列を指定することもできる。
大文字と小文字を区別する。
- 多様な型 $replace
置換文字列を指定する。
置換文字列を格納した配列を指定することもできる。
- 多様な型 $subject
検索の対象となる文字列を指定する。
対象文字列を格納した配列を指定することもできる。
- 整数型 &$count
置き換えた部分文字列の個数を取得できる。
ここに指定した変数に格納する。
戻り値
対象文字列「多様な型 $subject」の中の、検索文字列「多様な型 $search」に一致した部分文字列を、置換文字列「多様な型 $replace」に置き換えた文字列を返す。
「多様な型 $subject」が、検索対象文字列を格納した配列の場合、置換後文字列を格納した配列を返す。
構文
検索文字列を置換
「対象文字列」の中の、「検索文字列」に一致した部分文字列を、「置換文字列」に置き換え、「置換後文字列」を返す。
検索文字列を置き換え、置き換えた部分文字列の個数を得る
「対象文字列」の中の、「検索文字列」に一致した部分文字列を、「置換文字列」に置き換え、「置換後文字列」を返す。
置き換えた部分文字列の個数を「変数」に格納する。
サンプル
検索文字列を置換
$varSubject = 'Color: color<br />';
echo str_replace( 'color', 'Red', $varSubject );
?>
↓↓↓出力結果↓↓↓
複数の検索文字列を置換
<?php
$varSubject = 'Price: price<br />Color: color<br />Size: size<br />';
$arraySearch = array( 'price', 'color', 'size' );
$arrayReplace = array( '2,000円', 'Red', 'M' );
echo str_replace( $arraySearch, $arrayReplace, $varSubject );
?>
</pre>
↓↓↓出力結果↓↓↓
Color: Red
Size: M
複数の検索文字列を置き換え、置き換えた個数を得る
<?php
$varSubject = '色は、color、サイズは、sizeサイズ。<br />Price: price<br />Color: color<br />Size: size<br />';
$arraySearch = array( 'price', 'color', 'size' );
$arrayReplace = array( '2,000円', 'Red', 'M' );
echo str_replace( $arraySearch, $arrayReplace, $varSubject, $varCount );
echo "{$varCount}個の文字列を置き換えました。";
?>
</pre>
↓↓↓出力結果↓↓↓
Price: 2,000円
Color: Red
Size: M
5個の文字列を置き換えました。
複数の対象文字列の、複数の検索文字列を置換
<?php
$arraySubject = array(
"値段は、price。\n",
"色は、color、サイズは、sizeサイズ。\n",
"Price: price\nColor: color\nSize: size\n"
);
$arraySearch = array( 'price', 'color', 'size' );
$arrayReplace = array( '2,000円', 'Red', 'M' );
$arrayReturn = str_replace( $arraySearch, $arrayReplace, $arraySubject, $varCount );
foreach ( $arrayReturn as $value ) {
echo $value;
}
echo "{$varCount}個の文字列を置き換えました。";
?>
</pre>
↓↓↓出力結果↓↓↓
色は、Red、サイズは、Mサイズ。
Price: 2,000円
Color: Red
Size: M
6個の文字列を置き換えました。
HTMLタグ内の検索文字列を置換
$varSubject = '<p style="color: %color%;">サンプル</p>';
echo str_replace( "%color%", "red", $varSubject );
?>
↓↓↓出力結果↓↓↓
HTMLタグ内の複数の検索文字列を置換
$varSubject = '<p style="color: %color%; font-size: %size%;">サンプル</p>';
$arraySearch = array( '%color%', '%size%' );
$arrayReplace = array( 'red', '20px' );
echo str_replace( $arraySearch, $arrayReplace, $varSubject );
?>
↓↓↓出力結果↓↓↓
複数のHTMLタグ内の複数の検索文字列を置換
$arraySubject = array(
"<p style=\"color: %color%; font-size: %size%;\">サンプル1</p>\n",
"<p style=\"color: %color%; font-size: %size%;\">サンプル2</p>\n",
"<p style=\"color: %color%; font-size: %size%;\">サンプル3</p>\n"
);
$arraySearch = array( '%color%', '%size%' );
$arrayReplace = array( 'red', '20px' );
$arrayReturn = str_replace( $arraySearch, $arrayReplace, $arraySubject, $varCount );
foreach ( $arrayReturn as $value ) {
echo $value;
}
echo "{$varCount}個の文字列を置き換えました。";
?>
↓↓↓出力結果↓↓↓
<p style="color: red; font-size: 20px;">サンプル2</p>
<p style="color: red; font-size: 20px;">サンプル3</p>
6個の文字列を置き換えました。