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?
答案 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"
答案 1 :(得分:0)
可能的正则表达式:plus.google.com/((\+\w+)|((|u\/(1|0)\/)\d{21}))
将$ 2中的用户名或$ 4中的id匹配
假设id是一个包含21个数字的字符串......