0

在 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';}
4

3 回答 3

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';}
于 2013-01-01T15:34:54.713 回答
2

如果去掉前导和最后的空格,长度将下降到 0,您可以轻松地将其转换为$fetch布尔值:

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

请参阅trim文档

于 2013-01-01T15:36:53.003 回答
1

也许使用正则表达式...

if (preg_match('/[^A-Za-z0-9]+/', $strFromSearchBox))
{
  //is true that $strFromSearchBox contains letters and/or numbers
}
于 2013-01-01T15:37:51.663 回答