2013-02-25 50 views
0

目前,我有一個網址,這就是這個樣子,網址爆炸的價值

http://website.com/type/value

我使用

$url = $_SERVER['REQUEST_URI']; 
$url = trim($url, '/'); 
$array = explode('/',$url); 

這個目前獲得的價值,但我的網頁有Facebook的喜歡上它的,並當它被點擊時,它會添加所有這些額外的變量。 http://website.com/type/value?fb_action_ids=1234567&fb_action_types=,並打破了我試圖獲得的價值。有另一種方法來獲得具體的價值嗎?

+0

與'的preg_replace修剪其關閉( '/(\?.*)$/', '',$網址);' – Jon 2013-02-25 01:02:53

回答

1

假設您知道這將始終是有效的URL,您可以使用parse_url

list(, $value) = explode('/', parse_url($url)['path']); 
+0

你應該注意到,直接訪問到那個parse_url數組元素是php 5.4+ – prodigitalson 2013-02-25 00:57:53

0

您還可以使用:

$array = explode('/',$_SERVER['PATH_INFO']); 

或者,這樣的:

$array = explode('/',$_SERVER['PHP_SELF']); 

有了這個,你不需要trim()來電或臨時VAR $url - 除非你使用它從別的東西。

兩個選項的原因是我不知道/type/value是否被傳遞到index.phpvalue實際上是一個PHP文件。無論哪種方式,兩個選項之一會給你你需要的。

0

我會使用一個preg_replace

explode('/', preg_replace('/?.*$/', '', $url));