2013-01-01 3 views
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';} 
+0

당신은 * 설명 할 수 있습니다. 너 여기서 진짜로 무엇을하고 있니? –

+1

먼저 [PHP 함수의 문자열 목록] (http://php.net/ref.strings)을 방문하십시오. http://php.net/trim – hakre

+0

나쁜 단어가 배열에 있습니다. – Norman

답변

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';} 
+0

감사합니다. Hanky 팬키. 나는 확실히 쉬어야한다. – Norman

2

, 길이는 쉽게 $fetch 부울로 변신 할 수있는 0으로 내려갈 :

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

trimDocs를 참조하십시오. * ... 이해가 안 "검색 문자열이 나쁜 단어를 포함하는 경우"

1

사용 정규식 아마도 ...

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