php从文件中解析ascii文本获取内容

时间:2011-12-13 15:04:47

标签: php parsing curl file-get-contents

早上好,我有一个新问题: 我试图将一组来自SIMBAD数据库查询的数据保存到mysql中(它是一个恒星对象数据库)。 如果您在浏览器中输入此网址:http://simbad.u-strasbg.fr/simbad/sim-id?output.format=ASCII&Ident=hd%201&OutputMode=VOTable 你得到一个用不同的行格式化的结果,但如果你使用

<?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并回显你得到一行包含所有信息的响应,这让我无法解析......有关如何解决这个问题的想法吗?

感谢。

2 个答案:

答案 0 :(得分:2)

该字符串已经包含换行符,
您可以使用file将该URL中的内容转换为数组(每行是一个数组元素)

  

如果已启用fopen包装,则可以使用此函数将URL用作文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息,使用说明以及它们可能提供的任何预定义变量的信息,请参阅支持的协议和包装器。

答案 1 :(得分:1)

这可能只是LF和CRLF之间的区别。您的URL的输出是LF,在您查看它的位置(浏览器?),可能不会被解析为新行。 试试$response = str_replace("\n", "\r\n", $response);,看看这是否有所不同