繁体   English   中英

在php laravel中将html转换为json

[英]Convert html to json in php laravel

我打这个网址

https://graph.facebook.com/1843624489016097?fields=link&access_token=EAAD3ZBKkIhYMBAL3KRi9eZBXlYJADZARRFMSe0Nc35WTP92X2etkccVqnjNcjJgKbd8ABtX5pyDPN0nAA7jORyjpOGexZCYp1Sf2iw0DJjCf8UkPiLwhuApSGDGZBvy5w7vk3U0Ba97FZA2DO7J4m4UjvbIolDaRP9TRpemEmLyQZDZD

使用php中的以下代码,

$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
$json= curl_exec ($ch);

我有这个来自Facebook的HTML,我想在这里只使用“链接”,

{"link":"https:\\/\\/www.facebook.com\\/app_scoped_user_id\\/YXNpZADpBWEdrUlJiUzc0SWFWZATI4SEVJUmJHTTJQVHU2M3owcTJLOHh5MnJYOTI0LWdMT3VFUC1veXNWdXBhM3o3RzdkQmV4cjNfTC1nSkdheGFhV19pWWU5T1ZAWSzlkN0NBTUl4NVZAKTE9oRjlFbjdObU5i\\/","id":"1686741234967769"}1

我尝试将其转换为JSON但它不起作用,它采用相同的格式,因为我在API中执行此操作,我在Postman下检查这个,我确实喜欢这个..

$request = json_encode($json, JSON_HEX_QUOT | JSON_HEX_TAG);

格式没有转换为json,我正在使用PHP Laravel。

您应该使用json_decode代替json_encode 所以你应该尝试:

$request = json_decode($json, true);

$link = $request["link"];

也可以使用curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_init之后保存变量中的响应。

在输出的末尾有一个1,可能你会回应一些你不应该的东西。

我怀疑你期望curl返回实际结果,但你没有使用适当的标志。 我怀疑这是因为您将返回结果分配给$json但没有标志CURLOPT_RETURNTRANSFER将返回true而不是任何json值。

这是你可以尝试的:

$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER);
$json= curl_exec ($ch);

$jsonArray = json_decode($json, true);
$link = $jsonArray["link"];

有关手册中卷曲标志的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM