2014-12-06 2 views
0

삭제하려는 콜백에 원치 않는 데이터를 제공하는 API를 사용하기 때문에 문자열을 자르고 특정 문자 앞에있는 모든 문자를 삭제하려고합니다.특정 문자가 나타날 때까지 문자열 다듬기

콜백은 다음과 같습니다

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

그리고 만 [ 후 코드, 그래서는 어떻게이 같은 문자열을 분할 할 수 있습니다 싶어? 감사합니다.

+1

json, json_decode()를 사용하여 원하는 것을 추출하십시오! 다른 어떤 방법도 미치지 않습니다. –

답변

1

그것은 JSON, 그래서 당신은 단지 그것을 해독 할 수

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이고 다른 함수를 사용하여 파싱 할 수 있습니다. 어쨌든 위에 떠날 것입니다. 다른 문자열에서 문자열을 추출하는 것이 더 일반적이기 때문입니다.

$data = json_decode($string); 

당신이 정말로 다음 방금 문자의 위치를 ​​찾을 수있는 특정 문자까지 트림 후 전에 모든 것을 차단하려면 :

관련 문제