Показать полную графическую версию : [решено] Вывод строк из файла чата (рег. выражение?) | PHP
D_Master
12-04-2009, 21:47
Всем привет!
Имеется лог сервера WoW, хотелось бы выводить его содержимое на сайте.
Содержимое файла:
2009-04-13 00:00:00 [Player]->CHANNEL:[Поиск спутников] Сообщение в чат
И т.д. и т.п.
Как можно выводить все строки из файла таким форматом:
Player (13-04-2009 00:00:00) [Поиск спутников]: Сообщение в чат?
Сам я в регулярных выражениях полный ноль, если не сложно, подскажите как это делается :)
Заранее спасибо!
<?
$sString = '2009-04-13 00:00:00 [Player]->CHANNEL:[Поиск спутников] Сообщение в чат';
$sString = ereg ('(.+) \[(.+)\].+:(\[.+\]) (.*)', $sString, $aResult);
echo '<b>'.$aResult[2].'</b> <i>('.$aResult[1].') <b>'.$aResult[3].'</i>:</b> '.$aResult[4]."\n<br>";
?>
D_Master
13-04-2009, 14:04
proxy, спасибо, всё работает.
А вот вопрос: как можно из текстового файла выдирать строчки, загонять их переменные и так же выводить?
<?php
$sFilePath = 'test.txt'
$hFile=fopen('$sFilePath','r') or die('Ошибка');
$sFileText = fread($hFile, filesize($sFilePath))
fclose($hFile);
//далее выдирание нужного текста из $sFileText тем же ere, хотябы
?>
или такой пример:
<?php
// получить web-страницу в виде массива и напечатать его
$fcontents = file ('http://www.example.com/');
while (list ($line_num, $line) = each ($fcontents)) {
echo "<b>Line $line_num:</b>; ", htmlspecialchars ($line), "<br>\n";
}
// получить web-страницу в строке
$fcontents = implode ('', file ('http://www.example.com/'));
?>
тут смотря какой текст и как его вытаскивать.
первый вариант думую самый быстрый:
1 прочитал файл в переменную
2 и рег. выражениями вытащить, то, что интерисует
D_Master
13-04-2009, 16:19
proxy, огромное спасибо! Совместил первый и третий Ваши скрипты, получил этот:
<?php
// получить web-страницу в виде массива и напечатать его
$fcontents = file ('http://localhost/log.txt');
while (list ($line_num, $line) = each ($fcontents)) {
$sString = ereg ('(.+) \[(.+)\].+:(\[.+\]) (.*)', $line, $aResult);
echo '<b>'.$aResult[2].'</b> <i>('.$aResult[1].') <b>'.$aResult[3].'</i>:</b> '.$aResult[4]."\n<br>";
}
// получить web-страницу в строке
$fcontents = implode ('', file ('http://localhost/'));
?>, который вернул то, что от него и требовалось :)
Пожалуйста )) Наслаждайтесь ))
не-не-не....примеры из справки, последние 2.....качайте справку в chm
- очень удобно )
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.