2012-02-24 118 views
0

字符串我有一個函數來獲取當前網址 - 在這裏找到:http://webcheatsheet.com/php/get_current_page_url.php - 和我試圖尋找一個字符串 - WordPress的類別塞 - 它裏面:試圖抓住從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的一部分的完整的url,但無論如何無論如何無論如何意味着無聲的意思是說我的if語句是或我的strstr不起作用。它是什麼?

+1

使用parse_url( $ url)在你的php文件中從URL中獲取正確的字段,你可以達到所需的結果。 – 2012-02-24 12:14:08

+0

你能給我們一些'$ pageURL'的例子嗎? – 2012-02-24 12:16:39

+0

立即閱讀'parse_url' @ http://php.net/manual/en/function.parse-url.php。還不確定如何使用它來檢查特定的字符串,並使用它來執行代碼。 – rhand 2012-02-24 12:22:23

回答

1

如果代碼部分正好從您的代碼複製,那麼你是不是設置$pageURL。 你的條件之前,你應該叫

$pageURL=curPageURL(); 

,以確保您正在搜索「親」字實際的URL裏面。

如果你有代碼插圖中的狀況和你的函數聲明,然後看看細節方面strstr,什麼結果爲FALSE

strstr返回字符串的FALSE的部分,或者如果未找到針。

在PHP轉換成布爾時,下面的值被認爲是FALSE:

布爾FALSE本身

整數0(零)

浮子0.0(零)

空字符串和字符串「0

用零個元素

零個成員變量(PHP 4只)的對象陣列

特殊類型NULL(包括尚未設定的變量)從空標籤創建

的SimpleXML對象

+0

我以爲我錯過了函數和條件之間的連接!謝謝!我最初認爲我必須在全局函數中創建這個變量,但那不起作用。我想讓全局函數也不重要。我想這不是範圍問題,而只是一個變量聲明問題。僅供參考我的發言現在回答「很酷」或真實。再次感謝! – rhand 2012-02-24 12:35:51

0

使用此它會幫助你

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