我有一个像http://example.com这样的网址 - 它的HTML源代码是:
<html>
test
test2
{"customer":{"email":null,"is_eu":true"}
t
</html>
我想只从它获取JSON,然后从这个JSON获得任何东西
我目前的代码在这里:
$whole_html = htmlspecialchars(file_get_contents("http:/example.com"));
preg_match('~\{(?:[^{}]|(?R))*\}~', $whole_html, $json);
$JsonResults = print_r($json, true);
$json_decoded = json_decode($JsonResults, true);
echo $json_decoded['customer']['email'];
但结果是空页。
编辑 :echo print_r($json, true)
的结果是:
Array ( [0] => {"customer":{"email":null,"is_eu":true} )
任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:1)
上面示例html代码中的json字符串不正确。它一定是这样的
{ “顾客”:{ “电子邮件”:NULL, “is_eu”:真}}
您可以使用以下代码。
$whole_html = file_get_contents("http:/example.com");
preg_match('~\{(?:[^{}]|(?R))*\}~', $whole_html, $json);
$arr = json_decode($json[0],true);
$email = $arr['customer']['email'];
$is_eu = $arr['customer']['is_eu'];