早上好,我有一个新问题: 我试图将一组来自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并回显你得到一行包含所有信息的响应,这让我无法解析......有关如何解决这个问题的想法吗?
感谢。
答案 0 :(得分:2)
该字符串已经包含换行符,
您可以使用file将该URL中的内容转换为数组(每行是一个数组元素)
如果已启用fopen包装,则可以使用此函数将URL用作文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息,使用说明以及它们可能提供的任何预定义变量的信息,请参阅支持的协议和包装器。
答案 1 :(得分:1)
这可能只是LF和CRLF之间的区别。您的URL的输出是LF,在您查看它的位置(浏览器?),可能不会被解析为新行。
试试$response = str_replace("\n", "\r\n", $response);
,看看这是否有所不同