2014-03-19 85 views
1

我試圖從gaph.facebook.com中通過用戶標識從preg_match提取Facebook成員名稱。該腳本似乎沒有工作。誰能幫忙?使用preg_match提取數據

<?php 
$content = file_get_contents('https://graph.facebook.com/myid?fields=id,name,first_name,last_name,picture'); 

preg_match("'\"name\": \"(.*?)\",'si", $content, $match); 
$name = $match[1]; 

?> 
+0

什麼不處理似乎有用?你有什麼收穫? – Toto

+0

那麼$ name不會返回任何東西 – user1829531

+0

您能展示一個'$ content'的提取物,也許這裏沒有''name「:」...「,'在裏面? – Toto

回答

0

我不明白爲什麼你會使用PHP preg_match()REGEX而不是使用json_decode()因爲你已經與JSON型反應

<?php 
    $content = file_get_contents('https://graph.facebook.com/{ID}?fields=id,name,first_name,last_name,picture'); 

    $jsonData = json_decode($content); 

    echo '</br> id: '   .$jsonData->id, 
      '</br> name: '  .$jsonData->name, 
      '</br> first_name: ' .$jsonData->first_name, 
      '</br> last_name: ' .$jsonData->last_name, 
      '</br> picutre url: '.$jsonData->picture->data->url;  
?> 

Example

+0

哇謝謝!我沒有;不知道這個功能:) – user1829531

+0

你可以接受答案 –