我想检查并查看给定的字符串是否包含任何字符,或者它是否只是所有空格。我怎么能这样做?
我试过了:
$search_term= " ";
if (preg_match('/ /',$search_term)) {
// do this
}
但这会影响这样的搜索字词:
$search_term= "Mark Zuckerburg";
我只想要一个检查所有空格而没有字符的条件。
谢谢!
答案 0 :(得分:3)
使用trim()
:
if(trim($search_term) == ''){
//empty or white space only string
echo 'Search term is empty';
}
trim()
将从字符串的开头和结尾剪切空格 - 所以如果字符串只包含空格修剪,它将返回空字符串。
答案 1 :(得分: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 === ''
...)