PHP cURL字符串获取字符串某些部分之前和之后的所有内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP cURL字符串获取字符串某些部分之前和之后的所有内容相关的知识,希望对你有一定的参考价值。

我用cURL从网页上抓取一些数据。但由于数据是基于数组的,但大小的变化和变化。然后我需要搜索字符串的一部分,并希望在部分直到下一个逗号之后获得每个部分。

{"id":2988001,"teatiseNr":"50000099027","mkood":74,

现在这里是字符串。我只想拥有{“id”之后的所有内容:直到第一个逗号。所以我的输出是2988001

为什么我需要搜索条件是因为有时候有更多变量并且会扰乱订单。现在我使用简单

$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;
}

以上是关于PHP cURL字符串获取字符串某些部分之前和之后的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

About libcurl and cURL

php curl参数详解

PHP CURL详解

php 通过curl获取远程数据,返回的是一个数组型的字符串,高手帮忙如何将这个数组类型的字符串变成数组。

PHP POST请求 字符串和数组传值的区别

如何取一个字符串遇到某个字符之前的部分?