Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

PHP辞典

  1. トップページ
  2. PHP辞典
  3. str_replace() / str_ireplace()

str_replace() / str_ireplace()対応: PHP 4(2000)

文字列内の指定した文字列をすべて別の文字列に置換します。大文字・小文字を区別せずに置換したい場合は『str_ireplace()』を使用してください。

構文
// 一致したすべての部分を置換します。
str_replace($search, $replace, $subject, &$count);

// 大文字・小文字を区別せずに置換します。
str_ireplace($search, $replace, $subject, &$count);
関数一覧
関数概要
str_replace($search, $replace, $subject)$subject 内の $search をすべて $replace に置換した文字列を返します。大文字・小文字を区別します。
str_ireplace($search, $replace, $subject)大文字・小文字を区別せずに置換します。それ以外の動作は『str_replace()』と同じです。
戻り値

置換後の文字列を返します。第4引数に変数を渡すと、置換が行われた回数が格納されます。

サンプルコード
<?php
// 基本的な文字列の置換です。
$str = "りんごとみかんとりんご";
echo str_replace("りんご", "ぶどう", $str); // 『ぶどうとみかんとぶどう』と出力されます。

// 配列を使って複数の文字列を一括置換できます。
$template = "{{名前}}様、ご注文番号は{{注文番号}}です。";
$search = ["{{名前}}", "{{注文番号}}"];
$replace = ["山田太郎", "A-12345"];
echo str_replace($search, $replace, $template); // 『山田太郎様、ご注文番号はA-12345です。』と出力されます。

// 第4引数で置換回数を取得します。
$count = 0;
$result = str_replace("PHP", "Python", "PHPは楽しい。PHPは便利。", $count);
echo $result; // 『Pythonは楽しい。Pythonは便利。』と出力されます。
echo $count; // 『2』と出力されます。

// str_ireplace() は大文字・小文字を区別しません。
echo str_ireplace("hello", "こんにちは", "Hello HELLO hello"); // 『こんにちは こんにちは こんにちは』と出力されます。

// 空文字列に置換すると、該当部分を削除できます。
$html = "これは太字です。";
echo str_replace(["", ""], "", $html); // 『これは太字です。』と出力されます。

// 改行コードの統一に活用する例です。
$text = "1行目\r\n2行目\r3行目\n4行目";
$unified = str_replace(["\r\n", "\r"], "\n", $text); // すべて LF に統一されます。
概要

『str_replace()』は文字列内の指定した部分をすべて置換する関数です。検索文字列と置換文字列に配列を渡すことで、複数の置換を一度に行えます。配列を渡す場合、置換は左から順番に適用されるため、先に置換された結果がさらに置換される可能性がある点に注意してください。

『str_ireplace()』は大文字・小文字を区別しないバージョンです。HTMLタグやキーワードなど、大文字・小文字が混在する文字列を処理する際に便利です。

正規表現を使った高度な置換が必要な場合は preg_replace() を使用してください。文字列の検索には『strpos()』、文字列の分割には『explode()』が便利です。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。