2013-02-19 1 views
3

cURL을 사용하여 문자열 아래에 있습니다. 코드는 this comment에서 찾을 수 있습니다.Explode가 문자열을 올바르게 구분하지 않습니다.

HTTP/1.1 200 OK ID=347 Date: Tue, 19 Feb 2013 09:15:25 GMT Server: 
Apache/2.2.22 (Ubuntu) Content-length: 0 Vary: Accept-Encoding 
Content-Type: text/plain; charset=ISO-8859-1 

는 지금은 문자열에서 ID를 원하고 그것을 위해 내가 좋아 아래 공간에서 배열하기 위해 폭발 사용했습니다 :

$getIdElem = explode(' ',$output); 
echo '<pre>';print_r($getIdElem); 

을하지만 난 날짜를 받고 있어요 :를 ID로 문자열 앞에 그것의 공간이 있습니다. 배열을 인쇄 출력은 다음과 같습니다이 기능을 폭발에 그 공간을 포함하지 않는 이유를 이해가 안

Array 
(
    [0] => HTTP/1.1 
    [1] => 200 
    [2] => OK 
    [3] => ID=347 
Date: 
    [4] => Tue, 
    [5] => 19 
    [6] => Feb 
    [7] => 2013 
    [8] => 09:15:25 
    [9] => GMT 
Server: 
    [10] => Apache/2.2.22 
    [11] => (Ubuntu) 
Content-length: 
    [12] => 0 
Vary: 
    [13] => Accept-Encoding 
Content-Type: 
    [14] => text/plain; 
    [15] => charset=ISO-8859-1 


) 

. 누구든지 저를 도울 수 있습니까? 정규식 대신

+2

중간에 개행 문자가 있지만 개행 문자가 없습니다. – str

+0

그 모든 HTTP 헤더가 한 줄에 있다고 생각합니까? –

+0

@ ÁlvaroG.Vicario는 서버의 텍스트/일반 응답을 가지고 있습니다. –

답변

1

사용 :

if (preg_match('# ID=(\d+) #', $response, $match)) { 
    $id = $match[1]; 
} 
+0

감사합니다 실크, 그 훨씬 쉽게 문자열 기능을 실행하는 것보다. –

1

이 날짜 전에 새로운 라인이 아닌 공간입니다. 당신은 당신이 원하는 비트를 추출하는 정규식을 시도하는 것이 가장 좋을 것입니다.

관련 문제