在开始时检查字符串的空白区域

时间:2014-06-28 16:41:32

标签: php string

有没有办法检查字符串开头的空格?我试过strpos,但看起来不起作用。我使用$_POST['text']=" hi"并在我的代码中输出ok。它假设是一个错误。

<form action="#" method="POST">
    text <input type='text' name='text'/><br/>
    <input type='submit' value='submit'/>
    </form>

    <?php


    if(isset($_POST['text']) && !empty($_POST['text']))
    {
        if(strpos($_POST['text'],' '))
        {
            echo 'found white space';
        }
        else
        {
            echo 'not found';
        }
    }
    else
    {
        echo 'none';
    }

4 个答案:

答案 0 :(得分:1)

strpos()将搜索整个字符串。在结束和中间。

此外,您应该始终使用!== false resp。与=== false一起使用时strpos()

您可以将此问题用于解决您的问题:

if (ctype_space($_POST['text'][0])) {

}

ctype_space()优于$_POST['text'][0] == ' ',因为它还会检查制表符或空字符等。

PS:如果您只想删除空格,请使用trim()。如果您只想在左侧删除,则可以使用ltrim()

答案 1 :(得分:0)

使用strpos,您可以找到字符串中的所有空格(或者更好,字符串中的第一个空格,而不是第一个字符)。使用substr测试第一个字符。

if (!empty($_POST['text'])) {      
    if (substr($_POST['text'], 0, 1) == ' ') {
        echo 'First char is space';
    } else {
        echo 'First char isn\'t space';
    }
} else {
    echo 'String is empty.';
}

答案 2 :(得分:0)

if(ltrim($str) == $str)
{
    echo 'No Space';
}
else
{
    echo 'There are space';
}

此代码将检查字符串开头是否有空格。

答案 3 :(得分:0)

我找到了你的答案。答案非常简单,您必须使用虚假和真实的陈述来检查天气是否有空间。我已经编辑了你的答案,请检查一下。

<form action="#" method="POST">
    text <input type='text' name='text'/><br/>
    <input type='submit' value='submit'/>
    </form>

    <?php


    if(isset($_POST['text']) && !empty($_POST['text']))
    {
$sx=strpos($_POST['text'],' ');
        if($sx==true)
        {
            echo 'found white space';
        }
        else
        {
            echo 'not found';
        }
    }
    else
    {
        echo 'none';
    }

告诉它是否有效