寻找php帮助,最佳实践。什么是打破这些界限的好方法?我正在研究爆炸还是更好的正则表达式?然后可能将它们显示在一张桌子里?谢谢你的意见。
输入文件:
PRE:abc:KEY1:null:KEY2:/myproject/data/dat_abc_2010120810.gz1
PRE:def:KEY1:sdsu:KEY2:mail_abc.dat.2010120810.gz1
显示的预期输出或网页:
PRE KEY1 KEY2
=== ==== ======================================
abc null /myproject/data/dat_abc_2010120810.gz1
def sdsu mail_abc.dat.2010120810.gz1
答案 0 :(得分:6)
如果你有这样的文件,如果我是你,我会分两步完成......
第一步
使用file()获取表示文件的数组。
第二步
现在您可以使用 explode()获取所有不同的列并输出它们。
快速举例:
<?php
$output = "";
$file = file("data.txt");
foreach ($file as $line)
{
$cols = explode (":", $line);
$output .= "{$cols[0]} {$cols[1]}";
}
?>
希望这有帮助。
答案 1 :(得分:4)
explode可以正常使用:
$fp = fopen('myfile.txt', 'r');
while ($line = fgets($fp))
$parts = explode(':', $line);
$array = array();
for ($i=0; $i<count($parts); $i+=2) {
$array[$parts[$i]] = isset($parts[$i+1]) ? $parts[$i+1] : 'null';
}
print_r($array);
}
将输出:
Array
(
[PRE] => abc
[KEY1] => null
[KEY2] => /myproject/data/dat_abc_2010120810.gz1
)
Array
(
[PRE] => def
[KEY1] => sdsu
[KEY2] => mail_abc.dat.2010120810.gz1
)