2010-05-13 147 views
0

在Facebook工作時連我不得不從URL檢索的訪問令牌(它不是在URL本身,而是一字排開到該網址的文件中),所以這是我做的通過HTML與PHP解析

$url = "https://graph.facebook.com/oauth/access_token?client_id=".$facebook_app_id."&redirect_uri=http://www.example.com/facebook/oauth/&client_secret=".$facebook_secret."&code=".$code;" 

function get_string_between($string, $start, $end){ 
    $string = " ".$string; 
    $ini = strpos($string,$start); 
    if ($ini == 0) return ""; 
    $ini += strlen($start); 
    $len = strpos($string,$end,$ini) - $ini; 
    return substr($string,$ini,$len); 
} 


$access_token = get_string_between(file_get_contents($url), "access_token=", "&expires="); 

它看起來醜陋和笨拙是否有更好的方法來做到這一點?謝謝 。

回答

2

可以使用PHP函數parse_str

"https://graph.facebook.com/oauth/access_token?client_id=".$facebook_app_id."&redirect_uri=http://www.example.com/facebook/oauth/&client_secret=".$facebook_secret."&code=".$code; 

parse_str(file_get_contents($url)); 

echo $access_token; 

從PHP手冊:(link)

空隙parse_str(字符串$ STR [,陣列& $ ARR])

解析STR就好像它是查詢 通過URL傳遞的字符串並在當前範圍內設置 變量。

+0

太棒了!它像一個魅力:) 謝謝 – salmane 2010-05-13 12:02:07