2016-02-19 84 views
-1

GOOGLEPLUS轮廓的URL可以写为:入门用户ID或用户名来自谷歌加的个人资料网址

https://plus.google.com/117302453758282711096/ 
https://plus.google.com/u/0/105604861727423445668 
https://plus.google.com/u/1/105604861727423445668 
https://plus.google.com/+tuando 

在PHP或即使在一般的去帮助别人的正则表达式,我怎么能解析此网址到返回用户名/用户名?

+1

您是否尝试过某些方法来获取网址中的userid?另外,对于用户标识,你的意思只是网址的最后一部分:'105604861727423445668'还是这个:'1/105604861727423445668'? – Rizier123

+0

1 /不是用户ID的区分 –

+0

所以你只是想要的最后一部分的网址? – Rizier123

回答

0

'username/userid'在这种情况下是url中的最后一部分。
使用parse_url函数来获取从URL路径的最后一节:

$url1 = "https://plus.google.com/u/1/105604861727423445668/"; 
$url2 = "https://plus.google.com/+tuando"; 

$path = parse_url(trim($url1,"/"), PHP_URL_PATH); 

echo "<pre>"; 

$last_section = end(explode("/", $path)); 

var_dump($last_section); // string(21) "105604861727423445668" 

...

// checking $url2 

$path = parse_url(trim($url2,"/"), PHP_URL_PATH); 

echo "<pre>"; 

$last_section = end(explode("/", $path)); 

var_dump($last_section); // string(7) "+tuando" 

http://php.net/manual/en/function.parse-url.php

0

可能的正则表达式:plus.google.com/((\+\w+)|((|u\/(1|0)\/)\d{21}))

将匹配用户名在$ 2或ID in $ 4

假设身份证号码是21个数字的字符串...

相关问题