检查字符串是否没有字符或数字

时间:2013-01-01 15:32:32

标签: php

在php中,如何检查字符串是否完全没有字符。

目前我喜欢以下内容,并将-替换为' '。但是如果搜索字符串包含所有不良单词,那么它将留下' '(3个空格)。长度仍将显示为3,它将转到sql处理器。检查字符串是否没有字符或数字的任何方法?

$fetch = false;

#$strFromSearchBox = 'Why-you-foo-bar-I-ought-to-tar-you';
$strFromSearchBox = 'foo-bar-tar';

if(strlen($strFromSearchBox) >=2)
{
    $newString = str_replace($theseWords,'',$strFromSearchBox);
    $newString = str_replace('-',' ',$newString);

    if(strlen($newString)>=2)
    {   
        $fetch = true;
        echo $newString;
    }
}


if($fetch){echo 'True';}else{echo 'False';}

3 个答案:

答案 0 :(得分:4)

$fetch = false;

#$strFromSearchBox = 'Why-you-foo-bar-I-ought-to-tar-you';
$strFromSearchBox = 'foo-bar-tar';

if(strlen($strFromSearchBox) >=2)
{
    $newString = str_replace($theseWords,'',$strFromSearchBox);
    $newString = str_replace('-',' ',$newString);
    $newString=trim($newString);  //This will make the string 0 length if all are spaces
    if(strlen($newString)>=2)
    {   
        $fetch = true;
        echo $newString;
    }
}


if($fetch){echo 'True';}else{echo 'False';}

答案 1 :(得分:2)

如果你去掉前面和后面的空格,长度将下降到0,你可以很容易地变成$fetch布尔值:

$fetch = (bool) strlen(trim($newString));

请参阅trimDocs

答案 2 :(得分:1)

也许使用正则表达式

if (preg_match('/[^A-Za-z0-9]+/', $strFromSearchBox))
{
  //is true that $strFromSearchBox contains letters and/or numbers
}