1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
$fd = fopen('/home/hlds/server.log', 'r');
if ($fd) {
if(feof($fd)) { echo "LE FICHIER EST VIDE!"; }
else {
$i = 0;
while (!feof($fd)) {
$buffer = fgets($fd);
$i++;
// Traitement de la date en dbut de chaque ligne
$buffer = preg_replace("#((\d{4})-(\d{2})-(\d{2})\s{1}(\d{2}):(\d{2}):(\d{2}))#","<span class='date'><strong>$4/$3/$2</strong> à <strong>$5</strong>h<strong>$6</strong>mn<strong>$7</strong>s</span>",$buffer);
// Traitement des connections
$buffer = preg_replace("#\[INFO\]\s+Player\s{1}logged\s{1}in\s{1}in\s{1}world\s{1}(.+)#","<span class='connect'><strong class='actType'>Connection</strong> Demande de connection reçue sur le monde $1</span>",$buffer);
$buffer = preg_replace("#\[INFO\]\s{1}(.+)\s{1}\[/(.+)\]\s{1}logged\s{1}in\s{1}with\s{1}entity\s{1}id\s{1}(\d+)\s{1}at\s{1}\(\[(.+)\]\s{1}(.+),\s{1}(.+),\s{1}(.+)\)#","<span class='connect'><strong class='actType'>Connection</strong> prise en charge de <strong>$1</strong> (ip:port <strong>$2</strong>), sous l'entité <strong>$3</strong>, Monde <strong>$4</strong> (positions: $5 - $6 - $7)</span>",$buffer);
// Traitement des kicks
$buffer = preg_replace("#\[INFO\]\s{1}Disconnecting\s{1}(.+)\s{1}\[/(.+)\]:\s{1}(.+)#","<span class='kick'><strong class='actType'>Expulsion</strong> Le joueur <strong>$1</strong> (ip:port <strong>$2</strong>) vient d'être expulsé pour la raison : <strong>$3</strong></span>",$buffer);
// Traitement des déconnections
$buffer = preg_replace("#\[INFO\]\s{1}(.+)\s{1}lost\s{1}connection:\s{1}disconnect\.endOfStream#","<span class='connect'><strong class='actType'>Déconnection</strong> Le joueur <strong>$1</strong> a perdu la connection</span>",$buffer);
$buffer = preg_replace("#\[INFO\]\s{1}(.+)\s{1}lost\s{1}connection:\s{1}disconnect\.quitting#","<span class='connect'><strong class='actType'>Déconnection</strong> Le joueur <strong>$1</strong> s'est déconnecté</span>",$buffer);
// Traitement des warnings
$buffer = preg_replace("#\[WARNING\](.+)#","<span class='warning'>$1</span>",$buffer);
$buffer = preg_replace("#\[SEVERE\](.+)#","<span class='warning'>$1</span>",$buffer);
// Traitement plugin xauth
$buffer = preg_replace("#\[xAuth\]\s{1}(.+)\s{1}has\s{1}registered#","<span class='xauthAct'><strong class='actType'>Protection pseudo</strong> Le joueur <strong>$1</strong> vient d'enregistrer son pseudo</span>",$buffer);
$buffer = preg_replace("#\[xAuth\]\s{1}(.+)\s{1}has\s{1}logged\s{1}in#","<span class='xauthAct'><strong class='actType'>Protection pseudo</strong> Le joueur <strong>$1</strong> vient de s'identifier</span>",$buffer);
// Perte de connection
$buffer = preg_replace("#\[INFO\]\s{1}Connection\s{1}reset#","<span class='warning'>Une connection a été perdue</span>",$buffer);
// Traitement de player_command autre
$buffer = preg_replace("#\[PLAYER_COMMAND\]\s{1}(.+):\s{1}(.+)#","<span class='command'><strong class='actType'>Commande</strong> <strong>$1</strong> écrit la commande : <strong>$2</strong></span>",$buffer);
// Traitement des infos diverses
$buffer = preg_replace("#\[INFO\]\s{1}\[(.+)\](.+)#","<span class='pluginInfo'><strong class='actType'>$1</strong> $2</span>",$buffer);
echo "(".$i.") ".$buffer."<br />";
}
}
} else { echo "LE FICHIER EST INTROUVABLE!"; }
fclose($fd); //fermeture |
Partager