如何检查PHP字符串是否包含任何空格?我想检查是否有空格,然后回显错误消息,如果为真
if(strlen($username) == whitespace ){
echo "<center>Your username must not contain any whitespace</center>";
答案 0 :(得分:78)
if ( preg_match('/\s/',$username) ) ....
答案 1 :(得分:2)
此解决方案适用于反问题:知道字符串是否包含至少一个单词。
/**
* Check if a string contains at least one word.
*
* @param string $input_string
* @return boolean
* true if there is at least one word, false otherwise.
*/
function contains_at_least_one_word($input_string) {
foreach (explode(' ', $input_string) as $word) {
if (!empty($word)) {
return true;
}
}
return false;
}
如果函数返回false,$ input_string中没有单词。 所以,你可以这样做:
if (!contains_at_least_one_word($my_string)) {
echo $my_string . " doesn't contain any words.";
}
答案 2 :(得分:1)
试试这个方法:
if(strlen(trim($username)) == strlen($username)) {
// some white spaces are there.
}
答案 3 :(得分:1)
试试这个:
if (count(explode(' ', $username)) > 1) {
// some white spaces are there.
}
答案 4 :(得分:1)
试试这个:
if ( preg_match('/\s/',$string) ){
echo "yes $string contain whitespace";
} else {
echo "$string clear no whitespace ";
}
答案 5 :(得分:0)
PHP提供built-in function ctype_space( string $text )
来检查空格字符。但是,ctype_space()
检查字符串的每个字符是否创建了空格。在您的情况下,您可以创建一个类似于以下的函数来检查字符串是否包含空格字符。
/**
* Checks string for whitespace characters.
*
* @param string $text
* The string to test.
* @return bool
* TRUE if any character creates some sort of whitespace; otherwise, FALSE.
*/
function hasWhitespace( $text )
{
for ( $idx = 0; $idx < strlen( $text ); $idx += 1 )
if ( ctype_space( $text[ $idx ] ) )
return TRUE;
return FALSE;
}
答案 6 :(得分:0)
其他方法:
$string = "This string have whitespace";
if( $string !== str_replace(' ','',$string) ){
//Have whitespace
}else{
//dont have whitespace
}
答案 7 :(得分:0)
我发现了另一个很好的功能,可以很好地用于搜索字符串中的某些字符集-strpbrk
if (strpbrk($string, ' ') !== false) {
echo "Contain space";
} else {
echo "Doesn't contain space";
}