我想修剪一个字符串并删除特定字符之前的所有内容,因为我使用的API会在其回调中为我提供一些我想要删除的不需要的数据。
Callback看起来像这样:
{"someVar":true,"anotherVar":false,"items":[ {"id":123456, [...] }
我只想在 [之后的代码,所以如何分割这样的字符串? 谢谢!
答案 0 :(得分:1)
它是JSON,所以你可以解码它:
$data = json_decode($string);
如果你真的想要修剪某个角色,那么你可以找到角色的位置,然后切断它前面的所有东西:
if (($i = strpos($string, '[')) !== false) {
$string = substr($string, $i + 1);
}
答案 1 :(得分:0)
您可以使用各种功能。例如:
$someVar = explode('[',$string,2);
$wantedData = $someVar[1];
或者,如果您只想要[
和]
之间的数据,请使用:
$pattern = '~\[([^\]])\]~Ui';
if (preg_match($pattern,$inputString,$matches) {
$wantedData = $matches[1];
}
修改强>
如果你想从另一个提取一些字符串,这就是你使用的。但正如@Dagon注意到的,它是json,你可以使用其他函数来解析它。无论如何,我会留在上面,因为从另一个角度提取字符串的问题更为普遍。