2014-12-06 56 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,你可以使用其他函數來解析它。無論如何,我會離開,因爲從另一個字符串中提取字符串的問題更爲普遍。