【PHP・文字列関数】文字列を置き換える関数の使い方
違いは以下の通りです。
関数 | 相違点 | 戻り値 |
---|---|---|
str_replace | 置き換え前後の文字列を指定する | 置き換え後の文字列 |
strtr | 同じ長さ分の文字列が処理される | 置き換え後の文字列 |
substr_replace | 文字列の一部を置き換える | 置き換え後の文字列 |
str_replace関数の使い方(文字列を置き換える)
php3.0.6~ で使用できます。
str_replace関数 : 書式
書式:
str_replace(①, ②, ③ [, ①])
引数:
①置き換え前の文字列
②置き換え後の文字列
③処理する文字列
④指定した変数に置き換え回数が返される(省略化)
戻り値:
置き換え後の文字列または配列
str_replace(①, ②, ③ [, ①])
引数:
①置き換え前の文字列
②置き換え後の文字列
③処理する文字列
④指定した変数に置き換え回数が返される(省略化)
戻り値:
置き換え後の文字列または配列
str_replace関数は文字列に含まれる特定の文字列を置き換えます。引数を配列で指定した場合は、最初の要素からひとつづつ対応させて置き換えられます。「\n」を「<br>」に置き換えたり、「\n」を「/」に置き換えるなど様々な使い方ができます。「<」を「<」に置き換えるようなhtmlentitiles関数やhtmlspecialchars関数●の逆の処理もよく使われます。
置き換え後の文字列に「""」を指定することで、削除する用途で使うこともできます。
str_replace関数 : 使用例
- 文字列を置き換えるecho str_replace("A", "4", "123A5"); →「12345」を出力
echo str_replace("abc", "000", "abc123"); →「000123」を出力
- HTMLエンティティをデコードする$str = "<mytaggr;";
$str = str_replace(array("<", ">"), array("<", ">"), $str);変数 $str にセットされる値 → <mytag>
- 文字列に含まれる全角スペース・半角スペースを削除する$Str = "1 2 3 4 5";
echo str_replace(array(" "," "), "", $str); →「12345」を出力<解説>
str_replace関数の第2引数に空文字を指定して、文字列に含まれる空白を削除する使用例です。空白には半角スペース、全角スペースがあるので削除対象の文字としてまとめて配列で指定しています。
処理対象の文字列を配列で指定すると、1度にまとめて処理できます。
strtr関数の使い方(文字列を置き換える)
php3~ で使用できます。
strtr関数 : 書式
書式1:
strtr(①, ②, ③)
書式2:
strtr(①, ④)
①処理対象の文字列
②置き換え前の文字列
③置き換え後の文字列
④置き換え内容をセットした配列
戻り値:
置き換えられた文字列
strtr(①, ②, ③)
書式2:
strtr(①, ④)
引数:
①処理対象の文字列
②置き換え前の文字列
③置き換え後の文字列
④置き換え内容をセットした配列
戻り値:
置き換えられた文字列
strtr関数は文字列を置き換えます。置き換え前後の文字列は配列で指定することもできます。文字列で指定された場合は、同じ長さ分の文字列が処理され、一方より長い部分は無視されます。
strtr関数 : 使用例
- 文字列を置き換える$str = "010203";
echo strtr($str, "01", "xx"); →「xxx2x3」を出力
- 置き換え内容を配列で指定して文字列を置き換える$str = "ABC123";
echo strtr($str, array("A"=>"X", "1"=>"9")); →「Xbc923」を出力
substr_replace関数の使い方(文字列の一部置き換える)
php4~ で使用できます。
substr_replace関数 : 書式
書式:
substr_replace(①, ②, ③[, ④])
引数:
①文字列
②置き換え後の文字列
③置き換え開始位置
④置き換える部分のサイズ(省略化)
戻り値:
置き換え後の文字列
substr_replace(①, ②, ③[, ④])
引数:
①文字列
②置き換え後の文字列
③置き換え開始位置
④置き換える部分のサイズ(省略化)
戻り値:
置き換え後の文字列
substr_replace関数は文字列の一部を置き換えます。第3、第4引数でどの部分を置き換えるかの位置を指定し、第2引数で置き換え後の文字列を指定します。第4引数を省略すると、指定位置以降の文字列すべてが対象となります。
substr_replace関数 : 使用例
- 文字列の一部を置き換える$str = "123456789";
echo substr_replace($str, "x", 5); →「12345x」を出力
<解説>
第4引数が省略されているため、6番目の文字以降の「6789」が「x」に置き換えられます。
- 指定位置の文字を置き換える$str = "123-789-456";
echo substr_replace($str, "xxx", 4, 3); →「123-xxx-456」を出力<解説>
4文字目から3桁分の「789」が「xxx」で置き換えられます。
関連リンク
PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。