PHP 正则表达式

PHP regular expressions

如何预配total_count 来自 php

中的这段代码
{
   "data": [
      {
         "name": "Baptiste Chimay",
         "administrator": false,
         "id": "10153820811316460"
      },
   "summary": {
      "total_count": 4956
   }
}

我试过了,但没有得到任何数据

$url = ('the url i want');
                $result = json_decode($url);
    $likes = preg_match("'total_count (.*?),'si", file_get_contents($url), $matches);
print_r($url);

只需转义引号:

preg_match("/total_count\"\:(.*?)/i", file_get_contents($myurl), $matches);
//               here __^

但是,您不需要转义分号

preg_match("/total_count\":(.*?)/i", file_get_contents($myurl), $matches);

你也可以用单引号代替双引号:

preg_match('/total_count":(.*?)/i', file_get_contents($myurl), $matches);

并将 .*? 更改为 [^"]+

preg_match("/total_count\":([^"]+)/i", file_get_contents($myurl), $matches);

你也可以用单引号代替双引号:

preg_match('/total_count":(\d+)/i', file_get_contents($myurl), $matches);

那是 json 数据,您可以使用 json_decode 创建一个 php 数组:

$data = json_decode(file_get_contents($myurl), true);

echo $data['summary']['total_count']; //outputs 4956