文字列に単語間にスペースが含まれているかどうかを確認する必要がありますが、最初または最後にはありません。これらの文字列があるとしましょう:
1: "how r u ";
2: "how r u";
3: " howru";
その場合、2
のみが真である必要があります。どうすればそれができますか?
トリミングされた文字列が元の文字列と等しいことを確認してから、strpos
を使用してスペースを見つけることができます。
if ($str == trim($str) && strpos($str, ' ') !== false) {
echo 'has spaces, but not at beginning or end';
}
文字列の長さが2文字以上の場合は、次を使用できます。
if (preg_match('/^\S.*\S$/', $str)) {
echo "begins and ends with character other than space";
} else {
echo "begins or ends with space";
}
どこ \S
はスペース以外の文字を表します。