1

通常、このような文字列のソースがあります

word1   
       phrase with more words than one
             a phrase prefaced by whitespace that is not whitespace in code
    wordX

ノート!単語やフレーズの前の空白は、肉眼では空白として表示されますが、「trim()」を使用してトリミングされていません。

Trim() または preg_replace() を使用して、フレーズ内の空白を保持し、外側をトリミングする方法はありますか (空白のように見えますが、そうではありません)。

編集:単語やフレーズの前後にある空白に見えるスペースが何を「char」するのかわかりません。

4

1 に答える 1

5

これにより、すべての空白文字 (スペース、タブ、および改行) が単一のスペースに置き換えられます。

$output = preg_replace('!\s+!', ' ', $input);

編集:

最初の空白についてはtrim()、それを使用するか、代わりにこれを使用できます。

$output = preg_replace('!^\s+!', '', preg_replace('!\s+!', ' ', $input));

単一の RegExp として実行できると思います。RegExpu の第一人者がそれを実行できた場合は、代わりにこの人に回答を受け入れてもらいたいと思います。

于 2013-06-12T17:15:33.100 に答える