web-dev-qa-db-ja.com

PHP文字列に単語間にスペースが含まれているかどうかを確認します(先頭または末尾ではありません)

文字列に単語間にスペースが含まれているかどうかを確認する必要がありますが、最初または最後にはありません。これらの文字列があるとしましょう:

1: "how r u ";
2: "how r u";
3: " howru";

その場合、2のみが真である必要があります。どうすればそれができますか?

5
Eddy Unruh

トリミングされた文字列が元の文字列と等しいことを確認してから、strposを使用してスペースを見つけることができます。

if ($str == trim($str) && strpos($str, ' ') !== false) {
    echo 'has spaces, but not at beginning or end';
}
19
Don't Panic

文字列の長さが2文字以上の場合は、次を使用できます。

if (preg_match('/^\S.*\S$/', $str)) {
    echo "begins and ends with character other than space";
} else {
    echo "begins or ends with space";
}

どこ \Sはスペース以外の文字を表します。

4
Toto