Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP cURL string获取字符串特定部分前后的所有内容_Php_String_Curl_Str Replace_Explode - Fatal编程技术网

PHP cURL string获取字符串特定部分前后的所有内容

PHP cURL string获取字符串特定部分前后的所有内容,php,string,curl,str-replace,explode,Php,String,Curl,Str Replace,Explode,我正在使用cURL从网页上抓取一些数据。 但由于数据是基于阵列的,但大小会发生变化。 然后,我需要搜索字符串的各个部分,并希望在 直到下一个逗号 {"id":2988001,"teatiseNr":"50000099027","mkood":74, 这是绳子。 我只想拥有{“id”之后的所有内容: 直到第一个逗号。 因此,我的输出将是2988001 我之所以需要搜索条件,是因为有时有更多的变量,这会打乱顺序。 现在我用的是simple $pieces = explode(",", $page)

我正在使用cURL从网页上抓取一些数据。 但由于数据是基于阵列的,但大小会发生变化。 然后,我需要搜索字符串的各个部分,并希望在 直到下一个逗号

{"id":2988001,"teatiseNr":"50000099027","mkood":74,
这是绳子。 我只想拥有{“id”之后的所有内容: 直到第一个逗号。 因此,我的输出将是2988001

我之所以需要搜索条件,是因为有时有更多的变量,这会打乱顺序。 现在我用的是simple

$pieces = explode(",", $page);
然后用

str_replace('{"id":','',$pieces[0]);

必须有更优雅的方法来实现这一点。

这是一个json字符串,因此您可以简单地执行以下操作:

$data = json_decode($string);

echo $data->id;

如果它是基于阵列的,那么alistaircol、matei和neil是对的,您应该使用

$data = json_decode($page);
$id = $data->id
假设由于某种原因,响应实际上不是JSON,并且id为的项的顺序是可变的,那么类似的东西也可以工作

$no_braces = str_ireplace('{','',$page);
$no_quotes = str_ireplace('"','',$no_braces);
$items = explode(",",$no_quotes);
function getID($items){
    foreach($items as $item){
         $parts = explode($item, ':');
         $key = $parts[0];
         if($key === 'id'){
             return $parts[1];
         }
    }
    return null;
}

这整个字符串都是您的响应吗?它看起来像json,所以您应该使用
json\u decode($page,true)
给您一个关联数组。是的,但我不知道当变量偶然出现时该怎么办,然后我的sql查询就完蛋了。