こんにちはフロントエンドエンジニアのまさにょんです!
今回は、文字列中の特定の文字を削除する str_replace関数の使い方について解説します。
str_replace関数とは?
str_replace関数は、検索文字列に一致したすべての文字列を置換するPHPの関数です。
文字列の置換操作を簡単にすることができて、文字列中の特定の文字を削除する操作などによく使います。
第一引数に検索文字列、第二引数に置換文字列、第三引数に操作する文字列を指定して、対象の文字列を操作します。
PHPマニュアルの詳しい説明は、次のとおり。
str_replace — 検索文字列に一致したすべての文字列を置換する
[ 説明 ]
str_replace(
array|string
$search
,array|string
$replace
,string|array
$subject
,int
&$count
=null
): string|array
この関数は、
subject
の中のsearch
を全てreplace
に置換します。(正規表現のような) 技巧的な置換ルールを必要としない場合、
preg_replace() の代わりにこの関数を使うべきです。
[ パラメータ ]
1. search : 探したい値。
needle (針) と呼ばれることもあります。 配列を使えば、複数の値を指定することもできます。
2. replace : 見つかった
search
を置き換える値。配列を使えば、複数の値を指定することもできます。
3. subject : 検索・置換の対象となる文字列あるいは配列。
haystack (干し草の山) と呼ばれることもあります。
subject
が配列の場合、subject
の各エントリについて検索と置換が行われ、戻り値は同様に配列となります。
4. count : 指定した場合は、マッチして置換が行われた箇所の個数がここに格納されます。
search
とreplace
が配列の場合、str_replace() は各配列から値をひとつ取り出し、
subject
上で検索と置換を行うために使用します。
replace
の値がsearch
よりも少ない場合、置換される値の残りの部分には空の文字列が使用されます。
search
が配列でreplace
が文字列の場合、この置換文字列が
search
の各値について使用されます。しかし、 逆は意味がありません。
search
あるいはreplace
が配列の場合は、配列の最初の要素から順に処理されます。[ 戻り値 ]
この関数は、置換後の文字列あるいは配列を返します。
引用元: PHP-Manual: str_replace
次のSampleCodeは、文字列中の特定の文字を削除する操作をしています。
「 ” 」(空文字)に置換 = 文字列の削除
がポイントです。
<?php
// 1. str_replace() => 文字列中の特定の文字を削除する。
$hello_robotama = 'ロボ玉なのだ!';
// 2. $hello_robotama の「 'なのだ!' 」を「 '' 」(空文字)に置換する!
// => 「 '' 」(空文字)に置換 = 文字列の削除
$robotama = str_replace('なのだ!', '', $hello_robotama);
echo $hello_robotama . "\n";
// ロボ玉なのだ!
// 3. 置換後の文字列
echo $robotama . "\n";
// ロボ玉
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!