29

PHP関数preg_match()を使用して文字列をテストし、スペースが存在するかどうかを確認するにはどうすればよいですか?

「この文はスペースに対して真にテストされます」

「thisOneWouldTestFalse」

4

7 に答える 7

52

空白(タブなどを含む)に興味がある場合は、使用してください\s

if (preg_match("/\\s/", $myString)) {
   // there are spaces
}

スペースに興味があるだけなら、正規表現は必要ありません。

if (strpos($myString, " ") !== false)
于 2009-09-06T05:48:36.140 に答える
4

これに対処するこの StackOverflow questionも参照してください。

また、タブやその他の種類の空白を検出するかどうかによっては、\b \w や [:SPACE:] などの perl 正規表現構文を確認することをお勧めします。

于 2009-09-06T05:52:33.013 に答える
1

次を使用できます。

preg_match('/[\s]+/',.....)
于 2009-11-11T08:34:56.110 に答える
0

この目的で ctype_graph を使用するのはどうですか? これにより、スペースの範囲が拡張され、画面に表示されるものを何も出力しない「空白文字」 ( \t、\n など) も意味します。ただし、これはネイティブであり、preg_match よりも高速である必要があります。

$x = "string\twith\tspaces" ;
if(ctype_graph($x))
    echo "\n string has no white spaces" ;
else
    echo "\n string has spaces" ;
于 2011-12-28T11:07:37.020 に答える
0

より速く使用する:

strstr($string, ' ');

于 2012-06-13T12:26:09.573 に答える
0
[\\S]

大文字の「S」は確実に機能します。

于 2011-02-11T18:18:50.340 に答える