2011-12-13 56 views
2

早上好,我有一個新的問題: 我試圖保存到mysql一組來自SIMBAD數據庫查詢(這是一個恆星對象dataabse)的數據。 如果您輸入此網址到瀏覽器:http://simbad.u-strasbg.fr/simbad/sim-id?output.format=ASCII&Ident=hd%201&OutputMode=VOTable 你得到單獨的行格式化的結果,但如果你使用php從文件解析ascii文本獲取內容

<?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

該字符串是已與線斷裂,
可以使用file從該URL內容轉換爲一個陣列(每行是一個數組元素)

的URL可被用作文件名使用這個函數,如果fopen包裝已經啓用。有關如何指定文件名的更多詳細信息,請參閱fopen()。請參閱支持的協議和包裝以獲取有關各種包裝具有哪些功能的信息的鏈接,關於它們的用法的註釋以及它們可能提供的任何預定義變量的信息。

+0

就是這樣。謝謝 –

1

這可能只是LF和CRLF之間的區別。您的網址輸出是LF,您在查看它的位置(瀏覽器?)可能不會被解析爲新行。 嘗試$response = str_replace("\n", "\r\n", $response);,看看這是否有任何區別