[PHP] str_replace 文字列を置換する(正規表現)

PHPの文字列を置き換えるサンプルです。

目次

サンプル str_replaceとは
  文字列を置き換える(str_replace)
  指定した文字や空白を削除する(str_replace)
  正規表現で文字列を置き換える(preg_replace)

str_replaceとは

str_replace ( 置き換える文字列 , 置換後の文字列 , 対象の文字列 [, int &$count ] )
  • str_replaceは文字列を置き換えます。
  • 1つめの引数は置き換える文字列、2つめの引数は置換後の文字列、3つめの引数は対象の文字列です。
  • 戻り値は置換後の文字列または配列を返します。
  • 4つめの引数は、置換した回数がセットされます。2回置換すれば2が入る。

文字列を置き換える(str_replace)

<?php

$str1 = "あいうーあいう";

//2つめの引数が1文字
echo str_replace("あ", "A", $str1); //AいうーAいう
echo str_replace("あい", "A", $str1); //AうーAう

//2つめの引数が複数文字
echo str_replace("あ", "AB", $str1); //ABいうーABいう
echo str_replace("あい", "AB", $str1); //ABうーABう

一致した文字を全て置き換えます。

指定した文字や空白を削除する(str_replace)

<?php

// 指定の文字(う)を削除する
$str1 = "あいうえお";
echo str_replace("う", "", $str1); //あいえお

// 半角空白あり(△あ△い△う△ +1△△)
$str1 = " あ い う +1  ";
$str2 = str_replace(" ", "", $str1);
echo $str2; //あいう+1
echo mb_strlen($str2); //5

3行目は、1つめの引数の文字を削除しています。
7行目は、半角スペースを削除しています。

https://www.php.net/manual/ja/function.str-replace.php

正規表現で文字列を置き換える(preg_replace)

mixed preg_replace (正規表現のパターン, 置換を行う文字列, 置換対象となる文字列,置換回数)
  • 正規表現で検索して置換します。
<?php
$str1 = "あいうーあいう";
$re1 = "/[あう]/u"; // 正規表現 「あ」または「う」
echo preg_replace($re1, "a", $str1); //aいaーaいa

$str2 = "--12345--";
$re2 = "/[0-9]{5}/"; // 正規表現 0から9の5桁
echo preg_replace($re2, "*****", $str2); //--*****--

$str3 = "--123451--"; //数値が6桁
$re3 = "/[0-9]{5}/";
echo preg_replace($re3, "*****", $str3); //--*****1--

$str4 = "--1234512345--"; //2回マッチするので注意
$re4 = "/[0-9]{5}/";
echo preg_replace($re4, "*****", $str4); //--**********--

$str5 = "--1234512345--"; //最初のマッチのみを置換
$re5 = "/[0-9]{5}/";
echo preg_replace($re5, "*****", $str5, 1);//--*****12345--

20行目は、4つめの引数に1を指定しているので1回のみ置換します。

正規表現のパターン

正規表現の一覧表

関連の記事

[PHP] preg_match 正規表現で数値を返す
PHP preg_split 文字列を配列にする(正規表現)

△上に戻る