Webページに2つのスペースのタブ付きデータ列を含むプレーンテキストファイルを表示する必要があります。
私がしたことは、PHPを使用してテキストファイルを読み取り、<pre>
タグ間で印刷して、等幅フォントを使用することでした。
<pre>
<?php
$fn="data.txt";
$fi=fopen($fn, "r");
$fc=fread($fi, filesize($fn)); //open and read text file
fclose($fi);
$fc=str_replace("\t", " ", $fc); //replace tabs with two spaces
print($fc); //print data between PRE tags
?>
</pre>
ほぼ動作しますが、タブが面倒です。タブを2つのスペースに置き換えるのは簡単ですが、空白以外の文字はタブに吸収されるのではなく、押し出されます。真のタブはn-1
空白以外の文字を吸収します(ここn
で、はタブあたりのスペースの数です)。
たとえば、次の表は次のように表示されます。
| | 43| 43| 7| | |
| 12|128|128|128| | 53|
| 3| 3| 3| 3| | |
| | | 21| 21| 39| |
ただし、すべてのタブをやみくもに2つのスペースに置き換えると、次のようになります。
| | 43| 43| 7| | |
| 12|128|128|128| | 53|
| 3| 3| 3| 3| | |
| | | 21| 21| 39| |
スペース全体を占めないタブを考慮しながら、タブをスペースに変換する(かなり簡単な)方法を見つけようとしていn
ます。