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 が含まれているがサブドメインである場合は無視するというチェックをもう 1 つ実行する必要があります。最初のpreg_matchでそれができると信じていますpreg_match("/facebook/i",$author_url)
ありがとう!