PHP で文字列の空白をすべて削除する方法

Minahil Noor 2023年1月30日
  1. PHP で str_replace() 関数を使ってすべての空白を削除する
  2. PHP の preg_replace() 関数を使用してすべての空白を削除する
PHP で文字列の空白をすべて削除する方法

この記事では、PHP で文字列からすべてのスペースを取り除く方法を紹介します。すべてのスペースを取り除くとは、与えられた文字列からすべてのスペースを取り除くことを意味します。

  • 関数 str_replace() を使用する
  • 関数 preg_replace() を使用する

PHP で str_replace() 関数を使ってすべての空白を削除する

組み込みの関数 str_replace() を用いて stringarray から部分文字列を置換します。置換する文字列はパラメータとして渡されます。この関数を利用するための正しい構文は以下の通りです。

str_replace($searchString, $replaceString, $originalString, $count);

組み込み関数 str_replace() は 4つのパラメータを持ちます。パラメータの詳細は以下の通りです。

パラメータ 説明
$searchString 必須 これは検索して置換したい部分文字列または array です。
$replaceString 必須 これは $searchString の代わりに入れたい string です。この関数は $searchString の出現を調べて $replaceString に置き換えます。これは array でも構わません。
$originalString 必須 これは元の string から部分文字列や置換したい文字を探すためのものです。
$count オプション これは $originalString に対して行われた置換の総数を教えてくれます。

この関数は、すべての置換を行った後の最終的な string を返します。

以下のプログラムは、str_replace() 関数を用いて、与えられた string から空白文字をすべて削除する方法を示しています。

<?php 
$searchString = " ";
$replaceString = "";
$originalString = "This is a programming tutorial"; 
 
$outputString = str_replace($searchString, $replaceString, $originalString); 
echo("The original string is: $originalString \n");  
echo("The string without spaces is: $outputString"); 
  
?> 

スペース文字を $searchString に、空の文字列を $replaceString に渡しています。出力はスペースを除いた string です。

出力:

The original string is: This is a programming tutorial 
The string without spaces is: Thisisaprogrammingtutorial 

パラメータ $count を渡すと、この関数はこの文字列に対して行われた置換の数を教えてくれます。

<?php 
$searchString = " ";
$replaceString = "";
$originalString = "This is a programming tutorial"; 
 
$outputString = str_replace($searchString, $replaceString, $originalString, $count); 
echo("The original string is: $originalString \n");  
echo("The string without spaces is: $outputString \n"); 
echo("The number of replacement operations is: $count");
  
?> 

出力:

The original string is: This is a programming tutorial 
The string without spaces is: Thisisaprogrammingtutorial 
The number of replacement operations is: 4

PHP の preg_replace() 関数を使用してすべての空白を削除する

PHP では、preg_replace() 関数を使用して string からすべてのスペースを削除することもできます。この関数はスペース文字を削除するだけでなく、文字列の中にタブがある場合はタブも削除します。この関数を使用するための正しい構文は以下の通りです。

preg_replace($regexPattern, $replacementVar, $original, $limit, $count)

関数 preg_replace() は 5つのパラメータを受け付けます。パラメータの詳細は以下の通りです。

パラメータ 説明
$regexPattern 必須 これは元の文字列や配列から検索するパターンです。
$replacementVar 必須 これは検索された値を置き換えるために使用する文字列または配列です。
$original 必須 値を見つけて置換したい文字列または配列を指定します。
$limit オプション このパラメータは置換の数を制限します。
$count オプション このパラメータは、元の文字列や配列に対して行われた総置換の数を教えてくれます。

白い空白を見つけるには、パターン /\s+/ を使用します。文字列から空白を削除するプログラムは以下の通りです。

<?php 
$searchString = " ";
$replaceString = "";
$originalString = "This is a programming tutorial"; 
 
$outputString = preg_replace('/\s+/', '', $originalString); 
echo("The original string is: $originalString \n");  
echo("The string without spaces is: $outputString \n"); 
?> 

出力:

The original string is: This is a programming tutorial 
The string without spaces is: Thisisaprogrammingtutorial 

この string の置換の総数は 4 であることがわかったので、置換の数を制限してみよう。

<?php 
$searchString = " ";
$replaceString = "";
$limit = 2;
$originalString = "This is a programming tutorial"; 
 
$outputString = preg_replace('/\s+/', '', $originalString,$limit); 
echo("The original string is: $originalString \n");  
echo("The string without spaces is: $outputString \n"); 
  
?> 

出力:

The original string is: This is a programming tutorial 
The string without spaces is: Thisisa programming tutorial

置換の数は 2つしかないことに注意してください。

関連記事 - PHP String