【PHP】文字列中の特定の文字を削除する str_replace関数の使い方

php_str_replace

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、文字列中の特定の文字を削除する 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!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

PHP / Laravel書籍

参考・引用

  1. PHP-Manual: str_replace

最近の投稿