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 に答える