0

我想检查给定的字符串是否包含任何字符,或者它是否只是所有空格。我怎样才能做到这一点?

我努力了:

$search_term= " ";

if (preg_match('/ /',$search_term)) {
    // do this
}

但这也会影响这样的搜索词:

$search_term= "Mark Zuckerburg";

我只想要一个检查所有空白且没有字符的条件。

谢谢!

4

2 回答 2

3

ctype_space做这个。

$search_term = " ";

if (ctype_space($search_term)) {
    // do this
}

你的正则表达式不起作用的原因是它没有锚定在任何地方,所以它到处搜索。正确的正则表达式可能是^\s+$.

ctype_space和之间的区别在于trim返回ctype_space一个false空字符串。使用任何合适的东西。(或者ctype_space($search_term) || $search_term === ''……)

于 2013-07-09T19:41:42.763 回答
3

使用trim()

if(trim($search_term) == ''){
    //empty or white space only string
    echo 'Search term is empty';
}

trim()将从字符串的开头和结尾剪切空格 - 因此,如果字符串仅包含空格修剪,它将返回空字符串。

于 2013-07-09T19:40:42.907 回答