2012-10-24 4 views
0

내게 붙어있어 또 다른 간단한 일 :

을 나는 현재의 URL를 확인하고 의존 사업부 클래스를 선택하려면 다음을 사용하고 있습니다 결과에 : 내가 할 수 있기를 원하는 것은 URL이 또한 같은 '리'항목이 'active_tab'클래스를 제공 할 것을 요구하는 다른 단어를 포함하고 있는지 확인,하지만 난 할 수도

$checkit = $_SERVER['PHP_SELF']; 
... 
<li "; if(strstr($checkit,'welcome')) { echo "class='active_tab'"; }... 

형식을 파악하지 못합니다. 분명히 이것이 작동하지 않지만 이것과 같은 것이 있습니다 :

<li "; if(strstr($checkit,'welcome', 'home', 'yourprofile')) { echo "class='active_tab'"; }... 

누군가가 도와 줄 수 있습니까?

+1

URL과 비교하여 확인 하시겠습니까? 앞으로 URL이 변경되면 어떻게 될까요? – CodeZombie

+0

URL에 get 변수를 전달하고 대신에 변수를 확인하십시오. 지금하고있는 일은 유지 보수 할 수 없습니다. –

답변

1

더 좋은 방법이 알고 있지만 수정 될 갭 중지 :

$searchStrings = array('welcome','home','yourprofile'); 
$stringFound = false; 
foreach($searchStrings as $checkString) 
{ 
    if(strstr($checkit, $checkString)) 
    { 
    $stringFound = true; 
    break; 
    } 
} 

그런 다음 출력을 변경 $stringFound를 사용합니다.

편집 1 : break 감사에 대한 continue을 전환 ZombieHunter (그것의 말 -_-)

편집 2 : (I가 여기에 잔인한 생각하지만) 또는 정규 표현식을 사용할 수 있습니다

if(preg_match('/(welcome|home|your profile)/',$checkit)) 
{ 
// Do your stuff here 
} 

그러나 이것은 표현이 쉽지 않다. (배열을 읽고 확장하는 것이 더 쉽다.) 그리고 그 값들이 배열을 DB 쿼리와 같은 어떤 스토리지에 연결하기 쉽다.

+1

'계속'이 아니라 '휴식'을 의미한다고 생각합니다. – CodeZombie

관련 문제