スポンサードリンク

【PHP】文字列の中にある半角空白と全角空白を削除・除去する方法

公開日:
更新日:
カテゴリー: PHP

文字列の中にある半角空白と全角空白をすべて削除(除去)する方法を説明しています。

スポンサードリンク

preg_replace関数を使う場合

preg_replace関数を使う場合はこのようにします。

$string  = preg_replace("/( | )/", "", $string );

サンプルプログラム

<?php
//文字列
$string = "「 」←半角空白「 」←全角空白「   」←半角空白3つ「    」←全角空白4つ";

//文字列の中にある半角空白と全角空白をすべて削除・除去する
$string  = preg_replace("/( | )/", "", $string );

//出力
echo $string;
?>

このプログラムを実行すると、次のようになります。

「」←半角空白「」←全角空白「」←半角空白3つ「」←全角空白4つ

str_replace関数を使う場合

str_replace関数を使う場合はこのようにします。

$string = str_replace(array(" ", " "), "", $string);

サンプルプログラム

<?php
//文字列
$string = "「 」←半角空白「 」←全角空白「   」←半角空白3つ「    」←全角空白4つ";

//文字列の中にある半角空白と全角空白をすべて削除・除去する
$string = str_replace(array(" ", " "), "", $string);

//出力
echo $string;
?>

このプログラムを実行すると、次のようになります。

「」←半角空白「」←全角空白「」←半角空白3つ「」←全角空白4つ

どっちを使う?

preg_replace関数を使う方法と、str_replace関数を使う方法のどちらを使うか?ですが、特に理由がない場合は「str_replace関数を使う方法」で行うと良いです。

それは、preg_replace関数は正規表現を使った置換にも対応しているため、処理速度的にもメモリ的にも(正規表現を使わないのであれば)str_replace関数の方が優位性があります(通常のプログラムではまったく考慮しなくて良いと思いますが・・・)。

なお、str_replace関数のリファレンスにも

(正規表現のような) 技巧的な置換ルールを必要としない場合、 preg_replace() の代わりにこの関数を常用するべきです。

と、「正規表現を使わないのであれば俺を使え!」と記述されています。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント