通过HTML与PHP解析

问题描述:

在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="); 

它看起来丑陋和笨拙是否有更好的方法来做到这一点?谢谢 。

可以使用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