Как сказать взорваться, чтобы игнорировать перевод строки? - PullRequest
0 голосов
/ 16 июля 2010

Я написал небольшой код для чтения в виде простого текстового файла и его отображения.Моя проблема в том, что в одном из полей много текста, а также несколько строк.В моем коде используется строка возврата, разделитель и переход к следующей записи.

Как я могу сказать, чтобы она разделялась только разделителем и игнорировала возврат строки?

Пример кода, который я использую:

$delimiter = chr(1);

$fp = fopen('app2','r');
if (!$fp) {echo 'ERROR: Unable to open file.</table></body></html>'; exit;}

$loop = 0;
while (!feof($fp)) {
  $loop++;
    $line = fgets($fp,2048); //use 2048 if very long lines
    $field[$loop] = explode ($delimiter, $line);
    echo '
<tr>
<td>'.$field[$loop][0].'</td>
<td>'.$field[$loop][1].'</td>
<td>'.$field[$loop][2].'</td>
<td>'.$field[$loop][3].'</td>
<td>'.$field[$loop][4].'</td>
<td>'.$field[$loop][5].'</td>
<td>'.$field[$loop][6].'</td>
<td>'.$field[$loop][7].'</td>
<td>'.$field[$loop][8].'</td>
<td>'.$field[$loop][9].'</td>
<td>'.$field[$loop][10].'</td>
<td>'.$field[$loop][11].'</td>
<td>'.$field[$loop][12].'</td>
<td>'.$field[$loop][13].'</td>
<td>'.$field[$loop][14].'</td>
<td>'.$field[$loop][15].'</td>
<td>'.$field[$loop][16].'</td>

</tr>';
    $fp++;
}

fclose($fp);
?> 

Вы можете увидеть, что он делает здесь http://www.smartphonesoft.com/fred/xmlfeed/test/itunes_to_mysql.php

1 Ответ

0 голосов
/ 04 сентября 2015

Вы можете вставить свой текстовый файл в один $var, просто добавив все с помощью .=, если размер вашего файла не превышает 2 ГБ.

Примечание: строка может быть размером до2 Гб.

...