我有文本文件,我想阅读到一个网站,然后显示。我用
$sListText = file_get_contents("result - 0001.txt");
echo nl2br($sListText);
使用换行符加载它。我只是不知道如何将表格数据转换成表格。
文本文件如下所示:
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文件的前两行,或者更好的是,将它们与从第三行开始的表数据分开?
答案 0 :(得分:2)
您需要阅读表格,以便循环播放。
当表开始时,您需要编写一些代码来计算。您可以循环遍历每一行,直到看到“Pos”(因为这是您的表头)。
关于文件顶部的两行标题,您需要弄清楚如何提取这些标题并将其标记。请参阅fgets()
的php手册,以便您阅读每一行。然后,您可以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>