大家早上好,我有一个新的问题:我正在尝试将一组来自SIMBAD数据库查询的数据保存到mysql中(这是一个重要的对象数据库)。如果您在浏览器中输入这个url: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并回显响应,您将得到包含所有信息的一行,这使我无法解析……有没有办法解决这个问题?
谢谢。
发布于 2011-12-13 23:15:54
字符串已带有换行符,
您可以使用file将URL中的内容转换为数组(每行都是一个数组元素)
如果启用了
封装器,则可以使用该函数将URL用作文件名。有关如何指定文件名的详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息、有关其用法的说明以及它们可能提供的任何预定义变量的信息,请参阅受支持的协议和包装器。
发布于 2011-12-13 23:17:25
这可能只是LF和CRLF之间的区别。URL的输出是LF,在您正在查看它的位置(浏览器?),它可能不会被解析为新的行。试试$response = str_replace("\n", "\r\n", $response);,看看这是否有什么不同
https://stackoverflow.com/questions/8491366
复制相似问题