我正在尝试编写一个函数来从 Facebook 获取用户个人资料 ID 或用户名。他们在表单中输入 url,然后我试图确定它是 Facebook 个人资料页面还是其他页面。问题是,如果他们进入具有子域的应用页面或其他页面,我想忽略该请求。
现在我有:
$author_url = http://facebook.com/profile?id=12345;
if(preg_match("/facebook/i",$author_url)){
$parse_author_url = (parse_url($author_url));
$parse_author_url_q = $parse_author_url['query'];
if(preg_match('/id[=]([0-9]*)/', $parse_author_url_q, $match)){
$fb_id = "/".$match[1];}
else{ $fb_id = $parse_author_url['path'];
}
$grav_url= "http://graph.facebook.com".$fb_id."/picture?type=square";
}
echo $gav_url;
如果$author_url
有“id=”,则此方法有效,然后将其用作配置文件 ID,如果没有,则它必须是用户名或页面名称,因此请改用它。我需要再运行一次检查,如果 url 包含 facebook 但它是一个子域,请忽略它。我相信我可以在第一个 preg_match 中做到这一点preg_match("/facebook/i",$author_url)
谢谢!