从HTML源中提取JSON并使用它

时间:2018-05-28 18:21:36

标签: php html json

我有一个像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} )

任何帮助都将不胜感激。

谢谢!

1 个答案:

答案 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'];