PHPで「特定の文字を〇〇する」処理まとめ【サンプル有】

PHPでよく忘れがちな「特定の文字を〇〇する」処理を一通りまとめました。

特定の文字が含まれているかチェックする

文字列内の部分文字列が最初に現れる場所を見つけるstrpos関数で、文字列に特定の文字があるかチェックできます。

サンプルコード
$text = '私の名前は田中です';
if(strpos($text, '田中') !== false){
    echo '田中が含まれる文字列です';
}else{
    echo '田中は含まれていません';
}
//文字列が含まれない場合の判定を行う場合は === falseに変更する
if(strpos($text, '田中') === false){
    
}
田中が含まれる文字列です

preg_matchを使用した正規表現でも判定できます。

サンプルコード
$text = '私の名前は田中です';
if(preg_match('/田中/', $text)){
    echo '田中が含まれる文字列です';
}else{
    echo '田中は含まれていません';
}
田中が含まれる文字列です

参考 【PHP】正規表現チェッカー

ただ、文字列の有無を調べたいだけなら、最も高速なのは「strpos」と公式が名言しているので、基本的には上の例を使用します。

正規表現でしか不可能な、複雑な判定方法を要する場合に使用しましょう。

特定の文字を置き換える(変換する)

文字列の中にある特定の文字を置き換えたい場合は、str_replace関数で可能です。

結果 = str_replace(検索対象の文字, 置き換える文字, 対象の文字)

サンプルコード
$text = '私の名前は田中です';
$result = str_replace('田中', '田口', $text);
echo $result;
私の名前は田口です

特定の文字を削除する

変数の特定の文字を削除も、str_replace関数で行えます。

置き換える文字を空白にすることで実質削除となります。

サンプルコード
$text = '私の名前は田中です';
$result = str_replace('田中', '', $text);
echo $result;
私の名前はです

特定の文字以前を削除する

特定の文字以前を削除したい場合は、strstr関数が処理できます。

サンプルコード
$text = '私の名前は田中です';
$result = strstr($text, '田中');
echo $result;
田中です

特定の文字以降を削除する

特定の文字以降を削除したい場合は、同じくstrstr関数が処理できます。

第三引数に「true」を追加すると、指定文字列以降を切り取ります。

サンプルコード
$text = '私の名前は田中です';
$result = strstr($text, '田中', true);
echo $result;
私の名前は

特定の文字で区切る(配列にする)

特定の文字列で区切る、分割させたい場合はexplode関数を使用します。

サンプルコード
$text = '私の名前は田中です';
$result = explode('田中', $text);
print_r($result);
echo $result[0].'TANAKA'.$result[1];
Array
(
[0] => 私の名前は
[1] => です
)
私の名前はTANAKAです
以上、PHPで「特定の文字を〇〇する」処理まとめ、でした。

PHP