2011-12-13 4 views
2

안녕하세요. 새로운 질문이 있습니다. 저는 SIMBAD 데이터베이스 쿼리 (별의 개체 데이터 베 이스)에서 나오는 데이터 집합을 mysql에 저장하려고합니다. 는 브라우저에 URL을 입력하면 : 별도의 라인 형식의 결과를 얻을 수 http://simbad.u-strasbg.fr/simbad/sim-id?output.format=ASCII&Ident=hd%201&OutputMode=VOTable ,하지만 당신은파일에서 ASCII 텍스트를 구문 분석하는 PHP

<?php 
$cadaart = 'http://simbad.u-strasbg.fr/simbad/sim-id?output.format=ASCII&Ident=hd%201'; 
$handler = curl_init($cadaart); 
$response = curl_exec ($handler); 
curl_close($handler); 
echo $response; 
?> 

또는 간단한 file_get_content를 사용하고 응답을 에코 경우 모든 정보, 단일 라인을 얻을 수있는 내가 해석 할 수 없게 ...이 문제를 해결하는 방법에 대한 아이디어?

감사합니다. 캐릭터 라인은 라인 중단으로 이미

+0

정보가 한 줄에 입력되어 있습니까? 브라우저에서 결과를보고있는 경우 원본을 보거나 출력을 "

" . $response . "
"'으로 둘러보십시오. – cweiske

+0

같은 것을 cweiske, 귀하의 라인을 사용하여 동일한 결과를 표시합니다. 내가 웹 페이지에서와 같은 것을 볼 수있는 소스 코드를 보면 내 생각에 새로운 라인이 있지만 nl2br 또는 str_replace를 사용하여 찾을 수 없다. –

답변

2

,
당신은 (각 행은 배열 요소)

URL에 파일 이름으로 사용할 수있는 배열로 해당 URL의 내용을 변환 할 file을 사용할 수 있습니다 fopen 랩퍼가 사용 가능하면이 기능을 사용하십시오. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 다양한 래퍼의 능력, 사용법에 대한 정보 및 제공 할 수있는 미리 정의 된 변수에 대한 정보에 대한 링크는 지원되는 프로토콜 및 래퍼를 참조하십시오.

+0

그게 전부 였어. 감사 –

1

아마도 LF와 CRLF의 차이 일 것입니다. URL의 출력은 LF입니다. LF는 브라우저를보고있는 곳에서 새 행으로 해석되지 않습니다. $response = str_replace("\n", "\r\n", $response);을 시도해보고 차이가 있는지 확인하십시오.

관련 문제