0
所以我有一个日志/ txt文件至极包含以下内容:单行文本日志文件分析
31 dec. 2014 11:56 - UserA: Hi31 dec. 2014 11:56 - UserB: Hi to you31 dec. 2014 11:56 - UserA: Whats your name?31 dec. 2014 11:57 - UserB: Nancy
林试图让这个成为一个更可读的格式..... 所以我尝试以下:
<?php
//load the logfile
$txt_file = file_get_contents('test.txt');
$txtfile2 = preg_split("/ (|:) /", $txt_file);
$rows = explode("\n", $txtfile2[0]);
foreach($rows as $row => $data)
{
$row_data = explode(':', $data);
$info[$row]['when'] = $row_data[0];
$info[$row]['name'] = $row_data[1];
$info[$row]['description'] = $row_data[2];
//display data
echo ' WHEN: ' . $info[$row]['when'] . '<br />';
echo ' WHO: ' . $info[$row]['name'] . '<br />';
echo ' MESSAGE: ' . $info[$row]['description'] . '<br /><br />';
}
?>
这工作部分.... 当被执行时的输出将是:
WHEN:12月31日2014年11月 世卫组织:56 - UserA 消息:您好
时间:31 dec。 2014年11 WHO:56 - 用户B 消息:您好你
这是接近我想要的,但你可以看到,由于使用分隔符IM“:”它也将削减时间和地点分钟在谁身上。 如何才能爆炸第二个“:”只?
我希望这有意义吗?
请告诉我记录之间的分隔符?样本数据中没有显示新行吗? – BigScar 2015-02-24 14:06:33
嗯等待我只是意识到,即时通讯在新行上做爆炸....所以是的,每个条目后都有新的行,即使它不显示为/ n,看到爆炸确实将其切入正确的部分 – defiancenl 2015-02-24 15:17:13
有没有办法在每次运行foreach时用空格或“。”代替第一次出现的“:”。为我所关心的? – defiancenl 2015-02-24 15:26:42