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

发布于 2024-12-21 08:44:18 字数 673 浏览 0 评论 0原文

大家早上好,我有一个新问题: 我试图将来自 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 并回显响应,你会得到包含所有信息的一行,这使我无法解析...关于如何解决这个问题有什么想法吗?

谢谢。

Good morning all, i have a new question:
I'm trying to save into mysql a set of data coming from a SIMBAD database query (it's a stellar objects dataabse).
If you enter this url into the browser: http://simbad.u-strasbg.fr/simbad/sim-id?output.format=ASCII&Ident=hd%201&OutputMode=VOTable
you get a result formated with separate lines, but if you use

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

or a simple file_get_content and echo the response you get a single line with all information, which makes me impossible to parse... Any idea on how to solve this?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墟烟 2024-12-28 08:44:18

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

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

The string is already with line-break,
you can use file to convert contents from that URL into an array (each line is an array element)

A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide.

丶视觉 2024-12-28 08:44:18

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

It's probably just the difference between an LF and a CRLF. The output from your URL is LF, which, in where you're viewing it (browser?), is probably not parsed as a new line.
Try $response = str_replace("\n", "\r\n", $response); and see if this makes any difference

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文