【问题标题】:using file() and preg_split() to create a table使用 file() 和 preg_split() 创建表
【发布时间】:2013-02-11 05:07:47
【问题描述】:

假设我有一个 txt 文件并且里面有这样的信息示例:

amy,anderson,aldergrove,archery,anchovies,110
bill,bonds,burnaby,bowling,beer,100
cameron,carson,cameroon,cars,candy,120
henry,henderson,harrison,helping,hamburgers,90
dorothy,dust,denmark,driving,drinks,80
ed,edmunson,edmonton,eating,eggs,77
fred,fredrickson,fernie,flying,fries,140

我想使用 file() 和 preg_split() 函数来调用它并以表格形式显示最简单的方法是什么? 我知道如何使用 file() 函数来调用它,但我不确定如何替换 ,并让它看起来像一张桌子。

http://et4891.site90.com/sample.jpg

下面是我调出 txt 文件的操作。

<?php
$fileContentsArray = file("aaa.txt");
echo "<table>";
foreach($fileContentsArray as $one_persons_data)
{
    echo "<tr>$one_persons_data</tr>";
}
echo "</table>"
?>

我应该如何修改它以使它看起来像我发布的图像?

提前谢谢....

【问题讨论】:

  • 这是家庭作业吗?
  • 查看 $one_persons_data 将如何返回每一行,因此在 $one_persons_data 上使用 preg_split 它将为您提供数组。使用此数组在每个 td(单元格值)中输出

标签: php file split


【解决方案1】:

是否需要 preg_split?在这种情况下最好使用爆炸。无论如何:

<?php
$fileContentsArray = file("aaa.txt");
echo "<table>";
foreach($fileContentsArray as $one_persons_data)
{
  echo '<tr>';
  $splitted = preg_split('/,/', $one_persons_data);
  foreach ($splitted as $one) {
    echo "<td>$one</td>";
  }
  echo '</tr>';
}
echo "</table>"

【讨论】:

  • 那么这是否意味着 $one 没有任何意义,所以它只是打印
  • 我的意思是 preg_split 使数组以逗号分隔,因此 $one 成为 td 标记内的单个数组。是这样的吗?
  • 我想,我真的不明白你的问题。 preg_split 用逗号分割(如explode,但在这里你使用正则表达式)并在$splitted 中创建名称数组。然后,使用 foreach 您将遍历这个数组(将每个元素分配给 $one)并记下表格单元格 (td)。这对你有用吗?
  • 是的,谢谢。只是试图分解它是如何工作的。
【解决方案2】:

你可以这样做:

<?php
$rows = file('data.txt');
echo '<table>';
foreach($rows as $row){
    echo '<tr>';
    foreach(explode(',',$row) as $field){
        echo '<td>';
        echo htnlentities($field);
        echo '</td>';
    }
    echo '</tr>';
}
echo '</table>';

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2015-08-10
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    相关资源
    最近更新 更多