You could even make it shorter, if you don't need the line numbers anyway:
<pre>
 <?
  echo nl2br(file_get_contents('file.txt'));
 ?>
</pre>

2009/5/14 Peter Ford <p...@justcroft.com>:
> Moses wrote:
>> Hi Folks,
>>
>> I have a written a script in PHP which outputs the result from a text file.
>> The PHP script is as follows:
>>
>> <?php
>> $alldata = file("result.txt");
>> echo "<table><tr><td>";
>> foreach($alldata as $line_num => $line) {
>> echo $line."<br>";
>> }
>> echo"</td></tr></table>";
>> ?>
>>
>> I have attached the result.txt file. However the output of the script is as
>> follows:
>>
>>
>> Query: 1 atggcaatcgtttcagcagaaaaattcgtaattcgagctcgcccggggatcgatcctcta 60
>> ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
>> Sbjct: 1 atggcaatcgtttcagcagaaaaattcgtaattcgagctcgcccggggatcgatcctcta 60
>>
>> which is not exactly  as in the result.txt file in that the pipelines
>> are displaced.
>>
>> Any pointer to this problem shall be appreciated. Thanking you in advance.
>>
>> Moses
>>
>
> Not a PHP problem, but a HTML problem:
> First, HTML compresses white space into just one space, so all of those 
> leading
> spaces on line 2 are lost.
> Second, you are (probably) displaying using a proportionally-spaced font, so 
> the
> narrow pipeline characters take up less width than the letters.
>
> So you need something like:
> <?php
> $alldata = file("result.txt");
> echo "<table><tr><td style='white-space: pre; font-family: monospace;'>";
> foreach($alldata as $line_num => $line)
> {
>    echo $line."\n";
> }
> echo"</td></tr></table>";
> ?>
>
>
> --
> Peter Ford                              phone: 01580 893333
> Developer                               fax:   01580 893399
> Justcroft International Ltd., Staplehurst, Kent
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to