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

时间:2018-02-28 09:25:18

标签: php string curl str-replace explode

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

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

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

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

$pieces = explode(",", $page);

然后用

删除其余部分
str_replace('{"id":','',$pieces[0]);

必须有更优雅的方式来完成这项工作。

2 个答案:

答案 0 :(得分:1)

这是一个json字符串,所以你可以简单地执行:

$data = json_decode($string);

echo $data->id;

答案 1 :(得分:0)

如果它基于数组,那么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;
}