str_ireplace

(PHP 5, PHP 7, PHP 8)

str_ireplace大文字小文字を区別しない str_replace()

説明

str_ireplace(
    array|string $search,
    array|string $replace,
    string|array $subject,
    int &$count = null
): string|array

この関数は、subject の中に現れるすべての search(大文字小文字を区別しない)を replace に置き換えた文字列あるいは配列を返します。 一般に、凝った置換ルールが必要ないのであれば、 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() - 文字の変換あるいは部分文字列の置換を行う

関連キーワード:  replace, 置換, 配列, search, 大文字, 区別, 小文字, ireplace, subject, string