2014-12-06 61 views
0

我想修剪一个字符串并删除特定字符前的所有内容,因为我使用的是一个API,它在我想删除的回调中给了我一些不需要的数据。修剪一个字符串,直到出现特定字符

回调看起来是这样的:

{"someVar":true,"anotherVar":false,"items":[ {"id":123456, [...] } 

,我只希望[后的代码,所以我怎么可以拆分这样的字符串? 谢谢!

+1

其json,使用json_decode()然后提取你想要的!任何其他方法都是疯狂的 – 2014-12-07 00:06:53

回答

1

它是JSON,所以你可以只对其进行解码:

$data = json_decode($string); 

如果你真的要修剪到一定的字符,然后你可以找到人物的位置,然后才切断了一切:

if (($i = strpos($string, '[')) !== false) { 
    $string = substr($string, $i + 1); 
} 
0

您可以使用各种功能。例如:

$someVar = explode('[',$string,2); 
$wantedData = $someVar[1]; 

或者,如果你想[]之间唯一的数据,然后使用:

$pattern = '~\[([^\]])\]~Ui'; 
if (preg_match($pattern,$inputString,$matches) { 
    $wantedData = $matches[1]; 
} 

编辑:
那是,如果你想提取其他一些字符串你用什么。但是@Dagon注意到,它是json,你可以使用其他函数来解析它。无论如何,我会离开,因为从另一个字符串中提取字符串的问题更为普遍。