2014-12-06 5 views
0

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

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

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

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

+1

его json, используйте json_decode(), а затем извлеките то, что хотите! любой другой метод сумасшедший –

ответ

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]; 
} 

Edit:
То, что вы используете, если вы хотите извлечь некоторые строки из другого. Но, как заметил @Dagon, это json, и вы можете использовать другую функцию для ее анализа. Я все равно останусь выше, потому что более общий вопрос об извлечении строки из другого.

Смежные вопросы