2014-09-29 153 views
-3

獲得ID我有這樣PHP的正則表達式來從URL

http://localhost/MyProjects/client-contacts/?client=2 

在PHP中的正則表達式我想從URL中的ID的URL。在上面的url中,id是2.那麼有人能告訴我如何從url中獲取id嗎?任何幫助和建議都將非常可觀。由於

+0

'\ d + $'將適用於上述情況。 – 2014-09-29 06:42:49

+1

一個示例不算作規範... – 2014-09-29 06:46:29

回答

0

使用正則表達式如下匹配,它存在只是後client=數量,

client=\K\d+ 

OR

http:\/\/.*?=\K\d+ 

OR

\d+$將針對上述輸入工作。

1

好了,使用這個表達式:

(\d)$ 

如果它始終是最後一個,或使用?client=(\d)。在這兩種情況下,第1組將包含您想要的標識。

2

不要使用正則表達式這一點。

您可以結合使用parse_str()parse_url()

$url = 'http://localhost/MyProjects/client-contacts/?client=2'; 
parse_str(parse_url($url, PHP_URL_QUERY), $arr); 
echo $arr['client']; 
+0

對於parse_url而不是正則表達式。 – Toto 2014-09-29 07:27:06

0

嘗試這樣

$url = 'http://localhost/MyProjects/client-contacts/?client=2'; 
preg_match('/client=([a-z0-9]+)$/i', $url, $id); 
echo $id[1]; 
exit; 
0

試試這個

$url = 'http://localhost/MyProjects/client-contacts/?client=2'; 
preg_match('/client=([a-z0-9]+)$/i', $url, $mc); 
echo $mc[1];  // here u get id as 2 
0

另一種方法可以是:

$url = 'http://www.example.com/MyProjects/client-contacts/?client=2'; 
$url_parts = parse_url($url); 
parse_str($url_parts['query'],$output); 

輸出在給定的URL的所有參數:

陣列(大小= 1) '客戶'=>字符串 '2'(長度= 1)

所以 - >$output['client']