如果字符串只包含空格?

时间:2010-02-28 21:34:38

标签: php string

如何查看字符串是否包含空格?

11 个答案:

答案 0 :(得分:49)

if (strlen(trim($str)) == 0)

或者如果您不想包含空字符串,

if (strlen($str) > 0 && strlen(trim($str)) == 0)

答案 1 :(得分:5)

echo preg_match('/^ *$/', $string)

应该工作。

答案 2 :(得分:5)

来自:https://stackoverflow.com/a/2992388/160173

如果你想提升,请在other answer上进行,而不是这一次!


这将是最快的方式:

$str = '      ';
if (ctype_space($str)) {

}

在空字符串上返回false,因为空不是空格。如果你需要包含一个空字符串,你可以添加|| $str == ''这仍然会比正则表达式或修剪更快地执行。

ctype_space


作为一个功能:

function stringIsNullOrWhitespace($text){
    return ctype_space($text) || $text === "" || $text === null;
}

答案 3 :(得分:3)

检查trim()的结果是否大于0

答案 4 :(得分:3)

使用正则表达式:

$result = preg_match('/^ *$/', $text);

如果你想测试任何空格,而不仅仅是空格:

$result = preg_match('/^\s*$/', $text);

答案 5 :(得分:3)

我认为使用正则表达式是过度的,但无论如何这里是另一个sol'n:

preg_match('`^\s*$`', $str)

答案 6 :(得分:1)

另一种方式

preg_match("/^[[:blank:]]+$/",$str,$match);

答案 7 :(得分:0)

chop($str) === ''

这应该足够了。

答案 8 :(得分:0)

如果您正在使用Ck编辑器,那么您应该这样做

if( strlen(trim($value,' ')) == 0 ){
    echo "White space found!"
}

答案 9 :(得分:-1)

另一种方式,只是为了游戏

<?php  
function is_space_str($str) {
    for($i=0,$c=strlen($str);$i<$c;$i++) {
        switch (ord($str{$i})) {
            case 21: 
            case 9:
            case 10: 
            case 13: 
            case 0:
            case 11: 
            case 32: 
            break;
            default:
                return false;
        }   
    }   

    return true;
} 

答案 10 :(得分:-2)

在我的程序中,它像这样很好地工作,

$comment = $_POST['comment'];
$commentcheck = trim($comment);

if (empty($commentcheck)) 
{
    //instruction with $comment
}

trim()函数只是删除$ comment字符串中的所有空格。 然后检查是否为空。 因此,在此if语句中,您必须显示一条错误消息,然后使用else编写您想要编写的任何内容。