使用PHP从文本文件中读取数据并在表格中显示

3
我可以帮您翻译成中文。需要将文本文件读入网站并显示。我使用:

$sListText = file_get_contents("result - 0001.txt");
echo nl2br($sListText);

这个文本可以通过换行符正常加载。但我不知道如何使用php将表格数据转换成表格。

该文本文件的格式如下:

Prestige Byeenkoms 2014 Dal Josafat Stadion,    10/02/2014

Item: 1 (Dogters - 14) Spiesgooi 500 gm

Pos Naam    Van Span    Uitslag Punt    ASA Rek
1   Marle   Rademan GHBH    35.67   8   879 R
2   Lara    Jordaan GHBH    25.58   5   671 
3   Martine Hartung PG  24.67   4   650 
4   Marlie  Theunissen  PG  23.50   3   622 
5   Rochelle    ROOS    BLRO    21.75   2   578 
6   Mishka  ELLIS   BLRO    21.20   1   564 

顶部的两行是标题。下面的数据必须形成一个没有边框的表格。

有人能帮忙吗?


更新:

我尝试了以下方法,效果非常好:

echo "<html><body><table>\n\n";
$f = fopen("0001.csv", "r");
while (($line = fgetcsv($f)) !== false) {
        echo "<tr>";
        foreach ($line as $cell) {
                echo "<td>" . htmlspecialchars($cell) . "</td>";
        }
        echo "</tr>\n";
}
fclose($f);
echo "\n</table></body></html>";

是否可以跳过csv文件的前两行,或者更好的方法是将它们与从第三行开始的表格数据分开保留?


所有内容都是以制表符分隔的。该文本是从一个可以导出为 CSV 的应用程序中导出的。 - Seef
1个回答

3
你需要读取表格以便循环其中的内容。 你需要编写一些代码来确定表格的起始位置。你可以遍历每一行,直到看到 "Pos"(作为表头)为止。 关于文件顶部的两行表头,你需要确定如何提取和标记它们。请查看php手册中的fgets(),以便读取每一行。然后你可以像愿意的那样使用explode()对它们进行分割。 这是一种方法...
<table>
<?php

// open the file
if (($handle = fopen("result - 0001.txt", "r")) !== false) {

    // TODO: use fgets() to find the row..


    // loop through each row
    while (($data = fgetcsv($handle, 0, "\t")) !== false) {

        echo "<tr>";

        for ($c = 0; $c < $num; $c++) 
        {
            echo "<td>" . $data[$c] . "</td>";
        }

        echo "</tr>";

    }

    // close file
    fclose($handle);
}
?>
</table>

我得到了以下错误信息:在 /home/athletic/public_html/bolandsentraal/Output/test.php 的第28行,出现了解析错误:语法错误,意外的文件结尾。 - Seef
@user3315413,那只是一个简单的语法错误。请修复它,而不是期望别人提供复制粘贴的答案。总体方法才是最重要的,而不是代码本身。 - Gordon
是的,我刚刚修好了。我忘记关闭 </tr> 标签 :p - Michael Coxon
我会尝试的。我是一个完全的新手,所以有点难。无论如何,感谢您的帮助。 - Seef
没有问题,但作为新手,阅读PHP手册中的字符串函数和文件系统函数可能会对你有所帮助。这些内容包含了你需要做的一切。http://au2.php.net/manual/en/ref.filesystem.php 和 http://au2.php.net/manual/en/ref.strings.php - Michael Coxon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接