Обрезать строку, пока не появится конкретный символ

0

Я хочу обрезать строку и удалить все до определенного символа, потому что я использую API, который дает мне некоторые нежелательные данные в своем обратном вызове, которые я хочу удалить.

Обратный вызов выглядит следующим образом:

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

И я хочу только код после [, так как я могу разделить строку как это? Спасибо!

  • 1
    его json, используйте json_decode (), затем извлеките то, что вы хотите! любой другой метод сумасшедший
Теги:
string
callback
trim

2 ответа

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню