str_ireplace
大文字小文字を区別しない str_replace
説明
stringarray str_ireplace(
arraystring $search
,
arraystring $replace
,
stringarray $subject
,
int &$count
= null
)
固定の文字列ではなく、パターンベースでテキストを置換したい場合、
preg_replace 関数を
パターン修飾子 i
と一緒に使ってください。
パラメータ
search
および
replace
が配列の場合は、
str_ireplace はそれぞれの配列から取り出した
値を使用して subject
の置換を行います。
replace
の要素数が
search
より少ない場合は、残りの要素は
空の文字列に置き換えられます。もし search
が配列で replace
が文字列だった場合は
すべての search
が同じ文字列に置き換えられます。
しかし、逆は意味がありません。
search
あるいは replace
が配列の場合は、配列の最初の要素から順に処理されます。
-
search
-
探したい値。needle (針) と呼ばれることもあります。
配列を使えば、複数の値を指定することもできます。
-
replace
-
見つかった search
を置き換える値。
配列を使えば、複数の値を指定することもできます。
-
subject
-
検索・置換の対象となる文字列あるいは配列。
haystack (干し草の山) と呼ばれることもあります。
subject
が配列の場合は、そのすべての要素に
対して検索と置換が行われ、返される結果も配列となります。
-
count
-
指定した場合は、マッチして置換が行われた箇所の個数がここに格納されます。
例
例1 str_ireplace の例
<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
echo $bodytag; // <body text=black>
?>
注意
注意: この関数はバイナリデータに対応しています。
警告
置換の順番に関するメモ
str_ireplace は左から右へと置換を行うので、
複数の置換を行うときには、前に追加された値を置換する可能性もあります。
str_replace のドキュメントにある
2 番目の例が、これが及ぼす影響の実例です。
参考
- str_replace
- preg_replace
- strtr