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