【问题标题】:Line break after printing array?打印数组后换行?
【发布时间】:2014-11-28 19:06:01
【问题描述】:

好的,我正在将网络爬虫中的内容保存到文本文件中,但问题是爬虫会遍历多个 url,所以我在 urls 数组上使用了 foreach 循环..

但是当我将数据打印到文件中时,每个数组会提取 49 个条目,并且每第 49 行有一个双条目。

在从 foreach 循环打印每个数组后,我是否可以换行?

foreach($urls as $url) {
    $source = file_get_contents($url);
    $roughHtml = rough_html($source);
    $scraped = extract_ips($roughHtml);
    $readyD = implode("\n", $scraped);
    file_put_contents($filename, $readyD, FILE_APPEND);
}

它可以很好地打印数组;并且数据在文件中;但每第 49 行是:

124.232.136.12:2160
196.201.216.170:779186.89.105.127:8080
186.95.69.6:8080

对这个问题有帮助吗?

【问题讨论】:

  • $readyD = implode("\n", $scraped) . "\n"; 也许?
  • 您确定这是复式输入吗?我猜你的输入文件根本不会以换行符结尾,所以下一个文件的第一个条目只是显示在前一个文件最后一个条目的末尾。

标签: php arrays line-breaks


【解决方案1】:

我认为您需要在file_put_contents 中为$readyD 添加一个新行。

file_put_contents($filename, $readyD . "\n", FILE_APPEND);
                                       ^^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多