2014-03-19 87 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

你可以接受答案 –