2013-04-15 95 views
1

我有一個包含此網址的網頁(www.mysite.com/index.php?op=2 & id = 3#someancor)。 我想使用PHP函數parse_url拆分url,但我不知道如何使用ancor完整的url。 我已經試過這樣:獲取帶有定位點的完整網址

$base_url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

$parsed_url = parse_url($base_url); 
echo $parsed_url['path']; 
echo $parsed_url['query']; 
echo $parsed_url['fragment']; 

但我BASE_URL回報www.mysite.com/index.php?op=2 & ID = 3。 我怎樣才能得到完整的網址? 謝謝

+1

不可能。散列永遠不會發送到服務器。瀏覽器在本地使用它,方法是向下滾動到具有該ID的元素。 – Barmar

回答

0

不幸的是,這是不可能的,因爲url的#...部分只能由瀏覽器處理,而不能在請求服務器時使用。

+0

好問題!不知道之前 – hek2mgl

+0

哈哈哈,別擔心男人:) – HamZa

-1

該函數會給你當前的url,你可以處理它。

$base_url= curPageURL(); 
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; 
    } 
+0

它不會提供問題所詢問的URL部分。 – Quentin

+0

我錯過了閱讀# –

3

那麼你可以使用 「的javascript」>document.URL。並POST到某個頁面並在那裏進行處理。 document.URL返回完整的網址#

+0

但我可以把這段代碼放在我的php類中嗎? –

+1

你會發布/ ajax url變量到一些php頁面,並獲取值,然後你可以將它傳遞給任何函數或類,取決於你的編碼風格 –