【PHP】str_replaceを使って文字列を置き換える方法を解説!
str_replace は検索した文字列が一致した場合、一致した文字列をすべて置換します。
str_replaceを使って文字列を置き換える方法をわかりやすいサンプルコード付きで解説していきます。
str_replaceの構文
str_replace()関数は、検索した文字列に一致した全ての文字列を置換することができます。
1 |
str_replace( $検索の文字列 , $置換後の文字列 , $検索対象の文字列 [, int &$カウント ] ) |
この関数は、次の規則に従って機能します。
・検索する文字列が配列の場合、配列を返します検索する文字列が配列の場合、検索と置換はすべての配列要素で実行されます。
・findとreplaceの両方が配列で、replaceがfindよりも要素が少ない場合、空の文字列がreplaceとして使用されます。
・findが配列でreplaceが文字列の場合、置換文字列がすべてのfind値に使用されます。
パラメータ
$検索の文字列(必須):検索する値を指定します
$置換後の文字列(必須):検索で値を置き換える値を指定します。
$検索対象の文字列:(必須):検索する文字列を指定します
$カウント: 置換数をカウントする変数
返り値
置き換えられた値を持つ文字列または配列を返します
str_replaceの使い方
基本的なstr_replaceの使い方
冒頭でも言いましたが、str_replace()は文字を置き換えたい時に使います。
次の例を見てみましょう。
例
1 2 3 4 5 6 7 |
<?php $color = array("青","赤","緑","黄色"); print_r (str_replace("赤","ピンク",$color,$i)); echo "次の配列が置き換わります。: $i"; ?> |
出力結果
Array( [0] => 青 [1] => ピンク [2] => 緑 [3] => 黄色)次の配列が置き換わります。: 1
replaceよりも少ない要素でもstr_replace()を使用することができます。
例
1 2 3 4 5 6 |
<?php $a = array("おはようございます","こんにちは"); $replace = array("A"); $b = array("Hello","world","!"); print_r(str_replace($a,$replace,$b)); ?> |
出力結果
Array( [0] => Hello [1] => world [2] => !)
配列の検索と置換
str_replace関数は、配列の値を置換することができます。配列を置換する場合には第三引数に配列を指定します。第四引数を指定すると、文字列を置換した回数が取得できます。
str_replace関数は、配列の値を置換することができます。
例
1 2 3 4 |
$fruits = ['apple', 'orange', 'melon', 'apple', 'pineapple']; $replace = str_replace('apple', 'melon', $fruits, $count); print_r($replace); echo '置換した回数: '.$count; |
出力結果
“Array( [0] => melon [1] => orange [2] => melon [3] => melon [4] => pinemelon)置換した回数: 3
大文字小文字を区別して置換
str_replace ()を使うことで大文字小文字を区別して置換することができます。
例
1 2 3 |
<?php echo str_replace("WORLD","こんにちは","Hello world!"); ?> |
出力結果
”
Hello world
大文字小文字を区別しないで置換
大文字小文字を区別しないで置換する場合は、str_ireplace関数を使用します。str_ireplace()関数は、文字列内の一部の文字を他の一部の文字に置き換えることができます。
1 |
str_ireplace($検索の文字列 , $置換後の文字列 , $検索対象の文字列,$カウント) |
例
1 2 |
<?php echo str_ireplace("WORLD","こんにちは","Hello world!");?> |
出力結果
Hello こんにちは!
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。