从Google Plus配置文件URL获取用户ID或名称

时间:2016-02-19 13:47:24

标签: php regex google-plus

GooglePlus个人资料网址可以写成:

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或者一般的正则表达式中帮助别人,我怎样才能解析这个url以返回用户名/用户ID?

2 个答案:

答案 0 :(得分:0)

' 用户名/用户ID '在这种情况下是网址的最后一部分。
使用parse_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

答案 1 :(得分:0)

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

将$ 2中的用户名或$ 4中的id匹配

假设id是一个包含21个数字的字符串......