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 '田中は含まれていません'; }
田中が含まれる文字列です
ただ、文字列の有無を調べたいだけなら、最も高速なのは「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です
(
[0] => 私の名前は
[1] => です
)
私の名前はTANAKAです
ディスカッション
コメント一覧
まだ、コメントがありません