2012-05-31 18 views
1

我試圖讓這個功能更全面的解析更URL的使用parse_url獲得的,而不是它的一部分整個URL

目前我具備的功能就是這個

function _pagepeeker_format_url($url = FALSE) { 
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) { 
return FALSE; 
} 

// try to parse the url 
$parsed_url = parse_url($url); 
if (!empty($parsed_url)) { 
$host = (!empty($parsed_url['host'])) ? $parsed_url['host'] : ''; 
$port = (!empty($parsed_url['port'])) ? ':' . $parsed_url['port'] : ''; 
$path = (!empty($parsed_url['path'])) ? $parsed_url['path'] : ''; 
$query = (!empty($parsed_url['query'])) ? '?' . $parsed_url['query'] : ''; 
$fragment = (!empty($parsed_url['fragment'])) ? '#' . $parsed_url['fragment'] : ''; 
return $host . $port . $path . $query . $fragment; 

} 

return FALSE; 
} 

此功能會將網址看起來像這樣

http://www.google.com/url?sa=X&q=http://www.beautyjunkiesunite.com/WP/2012/05/30/whats-new-anastasia-beverly-hills-lash-genius/&ct=ga&cad=CAcQARgAIAEoATAAOABA3t-Y_gRIAlgBYgVlbi1VUw&cd=F7w9TwL-6ao&usg=AFQjCNG2rbJCENvRR2_k6pL9RntjP66Rvg

這個

http://www.google.com/url

反正有做這個數組返回整個URL,而不是隻是其中的一部分嗎?

我已經看過了parse_url PHP頁面,它可以幫助和搜索的計算器,發現一對夫婦的事情,我只是有一點麻煩在這裏抓下一個步驟。

讓我知道我是否可以以任何方式澄清

謝謝!!

回答

1
return $url; 

還是我錯過了什麼?

+0

@Jared是你完全正確! – naeluh

+0

@Jeroen這將返回去獲得完整的網址?謝謝你的幫助 ! – naeluh

0

這是我用(擺脫parse_url和這樣的):

function get_full_url() { 
    // check SSL 
    $ssl = ""; 
    if ((isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"]=="on") || (isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"]=="443")) 
     { $ssl = "s"; } 
    $serverport = ($_SERVER["SERVER_PORT"]!="80"?":".$_SERVER["SERVER_PORT"]:""); 
    return "http".$ssl."://".$_SERVER["SERVER_NAME"].$serverport.$_SERVER["REQUEST_URI"]; 
} 

只需調用get_full_url();從腳本的任何地方。

+0

好吧,我會試試這個。這是否使用相同的邏輯parse_url不使用parse_url因爲我覺得可能需要使用它,因爲這是一個Drupal模塊的功能。這將是我需要抓取完整的網址嗎?另外我會返回什麼?非常感謝您的幫助!! – naeluh

+0

您返回$ fullurl,希望包含完整的url。該parse_url只是爆炸給定的URL到部分(協議,查詢等),但是這一次嘗試從$ _SERVER信息構建它。 – 2012-05-31 18:25:25

+0

很酷,所以我只是添加返回$ fullurl;但是我的函數不包含$ fullurl那很重要嗎? – naeluh

相關問題