2012-02-24 4 views
0

에서 문자열을 잡으려고 노력 : http://webcheatsheet.com/php/get_current_page_url.php을 - 나는 문자열을 찾기 위해 노력하고 있어요 - 워드 프레스 카테고리 슬러그 - 그것의 내부 :내가 현재 URL을 잡기 위해 기능이 URL을

function curPageURL() { 
    $pageURL = 'http'; 
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
    $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") { 
     $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
    } else { 
     $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
    } 
      //echo $pageURL;  
    if (strstr($pageURL, 'pro')) 
    { 
     echo "cool!";} 
     else {echo "bummer";}` 

url $ pageURL은 에일 때 URL의 일부로 프로와 함께 전체 URL을 가지고 있지만 어쨌든 내 if 문이 또는 내 strstr이 작동하지 않는 것을 의미하는 오류가 울립니다. 이게 뭐야? 코드의 해당 부분이 사용자 코드에서 정확히 복사 한 경우

+1

사용 parse_url ($ url)을 PHP 파일에서 URL로부터 적절한 필드를 얻으려면 필요한 결과를 얻을 수 있습니다. –

+0

'$ pageURL'을 예로들 수 있습니까? –

+0

'parse_url' @ http://php.net/manual/en/function.parse-url.php를 읽어보십시오. 확실하지 않은지 아직 어떻게 특정 문자열을 확인하고 다른 경우 코드를 실행하는 데 사용할 수 있습니다. – rhand

답변

1

도움이 될 것입니다. 당신의 상태 전에 당신이 실제 URL 내부에 "프로"라는 단어를 검색하고 있는지 확인하기 위해

$pageURL=curPageURL(); 

를 호출해야합니다. 당신은 조건과 함수 선언 inbetween 코드가있는 경우

strstr에 관한 세부 사항을 살펴보고 needle이 발견되지 않는 경우 FALSE

strstr 문자열의 일부, 또는 FALSE을 반환에 무엇을 평가합니다.

PHP에서

부울로 변환, 다음 값이 FALSE 간주된다

부울 FALSE 자체

정수 0 (제로)

플로트 0.0 (제로)

빈 문자열 및 문자열 "0"

제로 요소

제로 멤버 변수 (PHP 4 만)와 개체 배열

NULL 빈 태그로부터 생성

SimpleXML을 개체 (미 설정 변수를 포함하는) 특수 형태

+0

나는 함수와 조건 사이의 연결을 놓쳤다 고 생각했다! 감사! 처음에는 함수 전역 변수를 만들어야한다고 생각했지만 작동하지 않았습니다. 함수를 전역으로 만드는 것이 중요하지 않을 것 같아요. 범위 문제는 아니지만 간단히 변수 선언 문제라고 생각합니다. FYI 내 진술에 "시원함"또는 사실로 대답합니다. 다시 한 번 감사드립니다! – rhand

0

사용이 그 다음 당신이 $pageURL을 설정하지 않는 경우

$str = "first=value&arr[]=foo+bar&arr[]=baz"; 
parse_str($str); 
echo $first; // value 
echo $arr[0]; // foo bar 
echo $arr[1]; // baz 
관련 문제