Я хотел бы знать, как можно получить строку с внешней страницы.
Например: на веб-сайте PHP пользователь отправляет идентификатор facebook, например: 1157251270
И сайт возвращает имя от http://graph.facebook.com/1157251270 .
Надеюсь, я дал понять.
спасибо
Graph API возвращает строки JSON, поэтому вы можете использовать:
echo json_decode(file_get_contents('http://graph.facebook.com/1157251270'))->name;
или более подробный:
$pageContent = file_get_contents('http://graph.facebook.com/1157251270'); $parsedJson = json_decode($pageContent); echo $parsedJson->name; // Romanos Fessas
См. json_decode
Декодирует строку JSON.
Если вы используете PHP SDK для Facebook, вы также можете сделать это, чтобы запросить их API-интерфейс графика:
$fb = new Facebook(); $object = $fb->api('/1157251270');
вы получите его:
$link = json_decode(file_get_contents('http://graph.facebook.com/1157251270')); echo $link->name;
Ницца: http://webhole.net/2009/08/31/how-to-read-json-data-with-php/
Либо вы используете:
$res_json = file_gets_contents("http://graph.facebook.com/1157251270") $res = json_decode($res_json)
Или, если вы предпочитаете завиток (здесь с https и токеном доступа):
$ch4 = curl_init(); curl_setopt($ch4, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch4, CURLOPT_URL, "https://graph.facebook.com/1157251270?access_token=YOUR_ACCESS_TOKEN"); curl_setopt($ch4, CURLOPT_SSL_VERIFYPEER, false); if(!$result = curl_exec($ch4)) { echo curl_error($ch4); } else { $res = json_decode($res_json) } curl_close($ch4);
Для данных facebook вы можете использовать json_decode
.
Для других сайтов попробуйте с помощью webscraping, например: здесь