Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Вывод строк из файла чата (рег. выражение?) | PHP (http://forum.oszone.net/showthread.php?t=137516)

D_Master 12-04-2009 21:47 1092170

Вывод строк из файла чата (рег. выражение?) | PHP
 
Всем привет!
Имеется лог сервера WoW, хотелось бы выводить его содержимое на сайте.
Содержимое файла:
Цитата:

2009-04-13 00:00:00 [Player]->CHANNEL:[Поиск спутников] Сообщение в чат
И т.д. и т.п.
Как можно выводить все строки из файла таким форматом:
Цитата:

Player (13-04-2009 00:00:00) [Поиск спутников]: Сообщение в чат
?
Сам я в регулярных выражениях полный ноль, если не сложно, подскажите как это делается :)

Заранее спасибо!

proxy 13-04-2009 11:36 1092618

Код:

<?
        $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 1092736

proxy, спасибо, всё работает.
А вот вопрос: как можно из текстового файла выдирать строчки, загонять их переменные и так же выводить?

proxy 13-04-2009 15:08 1092779

Код:

<?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 1092829

proxy, огромное спасибо! Совместил первый и третий Ваши скрипты, получил этот:
PHP код:

<?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/'));
?>

, который вернул то, что от него и требовалось :)

proxy 13-04-2009 19:12 1093009

Пожалуйста )) Наслаждайтесь ))

не-не-не....примеры из справки, последние 2.....качайте справку в chm
- очень удобно )


Время: 03:09.

Время: 03:09.
© OSzone.net 2001-