Получение информации из файла

Этот код извлекает информацию с другого сайта:

<?php $location = $ident; get_taf($location); function get_taf($location) { $fileName = "ftp://tgftp.nws.noaa.gov/data/forecasts/taf/stations/$location.TXT"; $taf = ''; $fileData = @file($fileName); if ($fileData != false) { list($i, $date) = each($fileData); $utc = strtotime(trim($date)); $time = date("D, jS MY Hi",$utc); while (list($i, $line) = each($fileData)) { $taf .= ' ' . trim($line); } $taf = trim(str_replace(' ', ' ', $taf)); } if(!empty($taf)){ echo "Issued: $time Z <br><br> $taf"; } else { echo 'TAF not available'; } } ?> 

На что он должен выглядеть:

  TAF KLBX 160541Z 1606/1706 15009KT P6SM FEW009 BKN013 OVC030 FM160900 15005KT P6SM SCT010 BKN035 FM161600 16010KT P6SM VCSH SCT012 BKN030 FM161900 18012KT P6SM SCT025 BKN040 FM170000 16005KT P6SM SCT012 BKN022 

На что это похоже:

 TAF KLBX 160541Z 1606/1706 15009KT P6SM FEW009 BKN013 OVC030 FM160900 15005KT P6SM SCT010 BKN035 FM161600 16010KT P6SM VCSH SCT012 BKN030 FM161900 18012KT P6SM SCT025 BKN040 FM170000 16005KT P6SM SCT012 BKN022 

Как сохранить интервал с строками ???

Он помещает всю информацию в 1 строку и выглядит как параграф, а не список.

благодаря

Вывод содержит байты новой строки, но на веб-страницах эти разрывы строк обычно обрабатываются как регулярные символы пробела, а не как фактический разрыв строки (вместо этого используется br для жестких перерывов). PHP имеет функцию преобразования разрывов строк в теги br называемые nl2br , поэтому вы можете сделать это:

 $taf = nl2br(trim(str_replace(' ', ' ', $taf)), false); 

Поскольку вы обрезаете концы строк каждой строки, вам также нужно будет что-то изменить, чтобы либо сохранить их (используя trim с двумя параметрами, либо используя только ltrim ), либо повторно добавить их вручную следующим образом:

 $taf .= ' ' . trim($line) . "\n"; 

Вы также можете добавить теги непосредственно, что сэкономит вам конверсию. Другая возможность заключалась бы в том, чтобы просто сохранить / добавить концы строк и обернуть вывод в разделе <pre> , это избавит вас от необходимости разбить метки.

Измените следующую строку

  $taf .= ' ' . trim($line); 

Используя константу End of Line PHP, например:

  $taf .= ' ' . trim($line).PHP_EOL;