Я хочу обрезать строку и удалить все до определенного символа, потому что я использую 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, и вы можете использовать другую функцию для его анализа. Я все равно останусь выше, потому что это более общий вопрос об извлечении строки из другого.