PHP の文字列から先頭と末尾のスペース (およびその他の文字) を削除します。 PHPで文字列からスペースを削除するにはどうすればよいですか? PHPは行内の余分なスペースを削除します

こんばんは。最近、パスワードとその安全なストレージの話題について少し触れました。つまり、ハッシュ関数について勉強しました。 今日はパスワードとそのストレージの話題を少し続けて、あなたができる機能について勉強します。 文字列の先頭と末尾からスペースを削除する。 そして、ここにパスワードと 文字列からスペースを削除する、 あなたが教えて? まず、この関数は、もちろんパスワードに特に関係するものではなく、文字列に対してのみ機能します。また、パスワードについてはその応用としてのみ述べました。 そのため、状況に応じて、いつでもどこでも好きなときに使用できます。

それはなんのためですか? 行頭と行末のスペースをトリミングする? 登録時にサイトでパスワードを指定し、何らかの理由で誤ってスペースバーを押してそれに気づかなかった場合、パスワードは、たとえば 4 文字ではなく、スペースを含めて 5 文字で構成されます。 また、この文字列のハッシュが異なるため、パスワードが適切でない理由がわかりません。 したがって、そのようなニュアンスを避けるために、行内のスペースをトリミングすることを常にお勧めします。 次に、実際の例を検討していきます。

$string_pass = " 1234 " ;
$password = md5(trim($string_pass ));
$password2 = md5($string_pass );
エコー $パスワード;
エコー "
"
;
エコー $パスワード2;
?>

パスワードとなる変数を作成し、行頭と行末にスペースを指定します。 次に、ハッシュ化されたパスワードが格納される変数を作成し、その行を次のように渡します。 トリム機能, これにより、最初に不要なスペースがすべて削除され、それから初めてハッシュ化されたパスワードが取得されます。 また、2 番目の変数では、スペースを削除して文字列をすぐにハッシュする関数を使用しません。 次に、2 つの結果をブラウザ画面に表示すると、両方とも同じ文字列を使用したにもかかわらず、それらがまったく異なることがわかります。 ただし、スペースによって結果はまったく異なりますので、この点には十分な注意が必要です。 そして最後に一つお伝えしておきたいことがあります。 行頭または行末のスペースを削除する関数がさらに 2 つあり、それらは次のように呼ばれます。 ルトリムそして rtrimそれぞれ。 したがって、いずれかの側面からスペースを削除する必要がある場合は、それらを使用してください。 これでこの記事を締めくくり、あなたのすべての仕事が成功することを祈っています。

テキストを扱うときは、多くの場合、テキストを書式設定する必要があります。 これは、正しく表示し、読みやすくするために必要です。 これは、ユーザーが情報を入力して間違いを犯した場合に必要です。スペースを 1 つではなく 2 つ指定し、先頭にタブを置きます。 PHP でスペースを削除するには、いくつかの方法があります。

トリム()

Trim 関数は、文字列の先頭または末尾にある余分な文字を探します。 これ:

  • 通常のスペース。
  • 集計;
  • 改行文字。

次の形式で記述されます。

文字列トリム (string $str [, string $character_mask = "\t\n\r\0\x0B" ])

$str は処理される文字列で、$character_mask は追加の文字です。 $character_mask はオプションの属性です。

Preg_replace

正規表現を使って文字を検索・置換する機能です。

混合 preg_replace (混合 $pattern 、混合 $replacement 、混合 $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern - 探しているパターン。
  2. $replacement - 置換する文字。
  3. $subject - 処理されるオブジェクト。
  4. $limit - 行われた置換の数。

$pattern と $replacement には配列を指定できます。 この場合、インデックスに従って置換が行われる。

Str_replace()

PHP では、str_replace() メソッドを使用して文字列からスペースを削除できます。 出現する検索文字列をすべて置換文字列に置き換えます。

混合 str_replace (混合 $search 、混合 $replace 、混合 $subject [, int &$count ])

簡素化された preg_replace() メソッドとして使用されます。

  1. $search - 検索する値。
  2. $replace - 置換される文字列。
  3. $subject - 検索と置換が実行されるオブジェクト。
  4. $count は置換の数を設定します。
$bodytag = str_replace("%body%", "黒", " "); // 割り当て: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // 代入: 毎日ピザ、ビール、アイスクリームを食べるべきです $phrase = "果物を食べるべきです、野菜、食物繊維を毎日摂取します。"; $healthy = array("果物", "野菜", "食物繊維"); $yummy = array("ピザ", "ビール", "アイスクリーム"); $ newphrase = str_replace($healthy, $yummy, $phrase); // 代入: 2 $str = str_replace("ll", "", "good golly miss molly!", $count); echo $count; ?>

スペースの検索と置換の例

これらの関数は、ほとんどの状況に適用され、さらに複雑な状況にも適用されます。

たとえば、ユーザーが後で画面に印刷されるデータを入力したとします。 テキスト全体の読みやすさと認識を改善するには、この情報を処理する必要があります。つまり、繰り返されるスペースを削除し、単一のスペースに置き換えます。

$text1 = "余分なスペースを含む長いテキスト";

この場合、単語の間に 2 つと 3 つのスペースがあることがわかります。 PHPでスペースを削除する手順は以下の通りです。

1. まず、関数を使用して文字列を文字列の配列に変換する必要があります。

Explode(“ ”, $text1)

単一のスペースが区切り文字として使用されます。 こうすることで、配列の個別の要素ではない本体部分に含まれるスペースが 1 つ少なくなります。

2. 結果は次のような文字列の配列になります。

$array = [「長い」、「ボリュームがある」、「テキスト」、「あり」、「余分なスペース」]

3. 各要素は関数によって処理されます。

Preg_replace("/\s+/", " ", $text1)

1 つ以上のスペースを検索するには、正規表現 /\s+/ を使用します。 見つかったすべての一致は文字列「 」に置き換えられます。 検索は $text1 変数で実行されます。

4. その結果、ユーザーが認識しやすい、正しい数のスペースを含む文字列が得られます。

どの言語でも、文字列を扱うときの一般的な作業は、行頭と行末の両方にあるスペースを削除することです。 PHP には、これらの目的のために ltrim()、rtrim()、trim() という 3 つの関数があります。 ltrim() 関数は行頭のスペースを削除し、rtrim() 関数は行末を削除し、trim() 関数は先頭と末尾の両方を削除します。 興味深いのは、これらの関数は、スペースに加えて、改行、復帰、タブ、および NULL 文字のエスケープ シーケンスも削除することです。

$example = "\t皆さん、こんにちは\n"; var_dump(trim($example)); var_dump(rtrim($example)); var_dump(ltrim($example));

結果として、次のことが得られます。

文字列 "皆さんこんにちは" (長さ=12) 文字列 "皆さんこんにちは" (長さ=14) 文字列 "皆さんこんにちは" (長さ=13)

最も興味深いのは、上記の関数はユーザー指定の文字も削除できることです。 これを行うには、上記の関数は、削除する文字を含む文字列を 2 番目の引数として渡す必要があります。 例えば:

$example = "皆さん、こんにちは\n"; var_dump(trim($example, " y")); var_dump(rtrim($example, " y\n")); var_dump(ltrim($example, " yH"));

結果として:

文字列「こんにちはみなさん」 (長さ=13) 文字列「yHi みなさん」 (長さ=13) 文字列「i みなさん」 (長さ=12)