剛好最近在開發客戶網站上遇到需要使用到FB的會員id或是會員name才能使用的套件功能,當然可以請客戶自己去找FB的ID並不困難,但有些客戶就是找不到,所以乾脆寫一個php解析網址中內容的方法,這樣客戶只要輸入FB的會員網址就能自動解析出來會員的ID或是會員name了,增加user網站的操作便利性,方法如下:
<?php
$url='https://www.facebook.com/NeilHsu168/'; //FB的網址
$urlarr=parse_url($url); //解析網址
parse_str($urlarr['query'],$parr); // 存成陣列
if (strpos ($url, "-")){ //搜尋網址中是否有-
$fduserid=split('-',$urlarr[path]); //將-切割成陣列
$endfduserid=end($fduserid);
$endfduserid=str_replace("/","",$endfduserid);
//取得$fduserid陣列最後一組數值並去除/
echo $endfduserid;
}elseif(strpos($url, "?")){ //搜尋網址中有沒有?
echo $parr[id]; //輸出ID數值
}else {
$urlarr[path]=str_replace("/","",$urlarr[path]); //去除/
echo $urlarr[path]; //直接輸出name
}
?>
經測試如果FB網址是id數字類型的,例如:
https://www.facebook.com/profile.php?id=100009554504437&fref=ts
則輸出結果為 100009554504437
如果FB網址是英文字串類型的
https://www.facebook.com/NeohsuXoops
則輸出結果為 NeohsuXoops
如果FB網址是英文字串類型又有-分隔的
https://www.facebook.com/XOOPS-96578889373/
則輸出結果為 96578889373
教學撰寫:徐嘉裕 Neil hsu
留言
張貼留言