Muchas gracias ;)
Ok, gracias.
Mira ahora tengo el siguiente que tambien uso para ver el estado de un servidor pero como administrador.
Código PHP:
function printrow ($list = array()) {
print "<tr class=\"$class\">\n";
foreach ($list as $elem) {
print "<td>$elem</td>";
}
print "</tr>\n";
}
$result = rcon ('200.xx.164.xx', '25400', 'xxx', "status");
$result = explode ("\n", $result);
print "<table id=\"status\" border=1>\n";
print "<thead><tr><th colspan=\"8\">$result[0]</th></tr>\n";
array("num", "score", "ping", "name", "lastmsg", "address", "rate", "ver");
array_shift($result); // 1st line : map q3wcp9
array_shift($result); // 2nd line : col headers
array_shift($result); // 3rd line : -- ------ ----
array_pop($result);
array_pop($result); // two empty lines at the end, go figure.
foreach ($result as $line) {
$player = $line;
preg_match_all("/^\s*(\d+)\s*(\d+)\s*(\d+)(.*?)\s*(\d*)\s*(\S*)\s*(\d*)\s*(\d*)\s*$/", $player, $out);
// weeeeeeeeee \o/
$num = $out[1][0];
$score = $out[2][0];
$ping = $out[3][0];
$name = $out[4][0];
$lastmsg = $out[5][0];
$address = $out[6][0];
$rate = $out[7][0];
$ver = $out[8][0];
printrow (array ($num, $score, $ping, $name, $lastmsg, $address, $rate, $ver));
}
print "</table>\n";
El $result de arriba devuelve lo siguiente:
Código PHP:
Array
(
[0] => map : dday2
[1] => num score ping name lastmsg ip address rate/pps ver
[2] => --- ----- ---- --------------- ------- --------------------- -------- ---
[3] => 0 4 22 +WSS+Lans 12 201.220.124.161:27901 4.5K/ 60 35
[4] => 1 8 13 Hitfly! 4 200.86.234.72:27901 15K / 61 35
[5] => 2 12 22 +WSS+Mitsui 10 164.77.49.23:50141 4.5K/100 35
[6] => 3 5 19 +WSS+HadeS! 26 200.83.96.52:61431 4.0K/ 49 35
[7] =>
[8] =>
)
Pero al imprimir esta el drama... Al parecer el error esta en la función preg_match_all(). Trate de meter mano pero no logre nada.
Asi queda al imprimir:
http://i3.tinypic.com/11cgj8n.jpg
Pero la idea es que no quede asi y quede en orden, osea: num,score,ping,name,lastmsg,ip address,rate/pps y ver. Pero quedan juntos y se arma un despelote!