使用php将.txt文件中的列表格式化为表格

时间:2014-07-28 17:51:17

标签: php

我有一个包含列表的文本文件,包含大写标题,然后包含所有小写列表项。我试图找出是否有办法将其转换为表格格式。我已经能够轻松地使用.txt选项卡进行分区,因为数据很好并且从源中组织。但是这个来源很糟糕且数据没有组织。例如,列表看起来像这样:

ALL UPPERCASE TITLE 1
lowercase description line a
lowercase description line e
lowercase description line c
ALL UPPERCASE TITLE 2
lowercase description line f
lowercase description line b
ALL UPPERCASE TITLE 3
lowercase description line c
lowercase description line b

我对php非常陌生,并且认为我已经超过了我的头脑,我的问题简化为: 这可能吗?接下来的问题是我应该深入学习哪些功能来实现我的目标?

下面是我一直在与之斗争的垃圾代码,正如你所看到的,我认为我远未接近正确。

<?php

$file = file("file.txt");

print "<tr><td><b>Item</b></td><td><b>Price</b></td></tr>";     

foreach($file as $line){ 
$line = trim($line); 
$product = foreach($line as $testcaseUP){
if (ctype_upper($testcase)) {
    print " $testcase \n";
}   
 }
$description = foreach($line as $testcaseLOWER){
if (ctype_lower($testcaseLOWER)) {
    print " $testcaseLOWER \n";
}   
 }
print "<tr class='itemproduct'><td class='product'>$product[0]</td><td>class='price'>$description[0]</td></tr>"; 
 }
?> 

这就是我用于制作了明确的标签文件的文件:

<?php
$file = file("file.txt");

print " 
<tr><td><b>Item</b></td><td><b>Price</b></td><td><b>Savings</b></td><td><b>Amount</b>     </td><td><b>Where</b></td></tr>";

foreach($file as $line){ 
$line = trim($line); 
$split = explode("\t",$line); 
print "<tr class='itemproduct'><td class='product'>$split[0]</td><td>   class='price'>$split[1]</td><td class='amount'>$split[2]</td><td class='sale'>$split[3]     </td><td class='where'>$split[4]</td> </tr>"; 
}
?>

1 个答案:

答案 0 :(得分:0)

我不知道你文件的内容。这样做的一般方法就是这样。

file('file.txt')将您的文件内容作为一维数组返回。 每一行都是数组的一个元素。一旦你遍历它,你就不能再像你那样循环它了。

你的foreach没有返回任何东西所以删除=。

使用类似的东西,然后按照你想要的方式格式化 假设文件内容为

假设file.txt:

TITLE
line
line
TITLE
line

php:

<?php

    $file = file("file.txt");
    echo '<table>';


foreach($file as $line){ 
$line = trim($line);
//check if all uppercase 

 if (ctype_upper($line)) {
    echo" <tr><th>$line</th></tr>";
 }   

//else check if all lowercase

else if (ctype_lower($line)) {
    echo" <tr><td>$line</td></tr> \n";
 }   
}

?>

关于你的第二个问题:

php手册是一个非常好的资源,它有一个原因。你不需要记住任何功能。了解语言的工作原理并继续参考手册。很快就会知道特定功能的使用时间。