Я хочу обрезать строку и удалить все перед определенным символом, потому что я использую API, который дает мне ненужные данные в обратном вызове, которые я хочу удалить.
Обратный звонок выглядит так:
{"someVar":true,"anotherVar":false,"items":[ {"id":123456, [...] }
И я хочу только код после [ , так как я могу разделить строку, как это?
Спасибо!
Это JSON, так что вы можете просто расшифровать его:
$data = json_decode($string);
Если вы действительно хотите обрезать до определенного персонажа, вы можете просто найти положение персонажа, а затем отрезать все перед ним:
if (($i = strpos($string, '[')) !== false) {
$string = substr($string, $i + 1);
}
Вы можете использовать различные функции. Например:
$someVar = explode('[',$string,2);
$wantedData = $someVar[1];
Или если вы хотите только данные между [
а также ]
затем используйте:
$pattern = '~\[([^\]])\]~Ui';
if (preg_match($pattern,$inputString,$matches) {
$wantedData = $matches[1];
}
Редактировать:
Это то, что вы используете, если вы хотите извлечь одну строку из другой. Но, как заметил @Dagon, это json, и вы можете использовать другую функцию для его анализа. Я все равно оставлю выше, потому что это более общий вопрос извлечения строки из другого.