Hallo zusammmen.
Ich versuche ein Array in eine Tabelle auszuwerten.
Leider habe ich Probleme bei Leerzeichen von Playernamen und bei Namen die <> enthalten.
Hier mal mein Script:
PHP-Code:
<?php
// Array erstellen , so wie es der Gameserver über rcon zurückliefert bei 4 Spielern
$array = array(
1 => "ÿÿÿÿprint",
2 => "map: dm/mohdm2",
3 => "num score ping name lastmsg address qport rate" ,
4 => "--- ----- ---- --------------- ------- --------------------- ----- -----" ,
5 => "0 98 133 <Anton'-,-~:> 0 192.168.10.1:-3219 37323 5000",
6 => "1 45 35 * Point Blank * 50 192.168.10.1:12203 22628 15000",
7 => "2 33 400 {TRT}PiGeTa 0 192.168.10.1:12203 63952 5000",
8 => "3 82 64 niel<>priel 0 192.168.10.1:-3944 57187 30000",
9 => "",
10 => ")"
);
print_r ($array);
echo "<br><br><br>";
$playercount = count ($array);
?>
<table border="1">
<tr>
<td>
<?php
if ($playercount !=0){
echo '<tr>';
echo '<th>num</th>';
echo '<th>score</th>';
echo '<th>ping</th>';
echo '<th>name</th>';
echo '<th>lastmsg</th>';
echo '<th>address</th>';
echo '<th>qport</th>';
echo '<th>rate</th>';
echo '</tr>';
$x = 4;
while ($x <= $playercount) {
$x++;
$spielerinfo = explode(' ',$array[$x]);
echo "<tr>";
echo "<td>$spielerinfo[0]</td>";
echo "<td>$spielerinfo[1]</td>";
echo "<td>$spielerinfo[2]</td>";
echo "<td>$spielerinfo[3]</td>";
echo "<td>$spielerinfo[4]</td>";
echo "<td>$spielerinfo[5]</td>";
echo "<td>$spielerinfo[6]</td>";
echo "<td>$spielerinfo[7]</td>";
echo "</tr>";
} }
else
{
echo "Playerinfos";
echo "<td align=\"center\">Keine Player auf dem Server!</td>";
}
?>
</td>
</tr>
</table>
Damit bekomme ich jetzt bis Ping alles korrekt angezeigt , aber der Playername aus Schlüssel 5 wird gar nicht angezeigt, wegen den <> im Namen.
Nun zum grösseren Problem:
Vom Player mit Schlüssel 6 wird blos das erste Zeichen also das * angezeigt , und zur folge verschieben sich alle Werte in meiner Tabelle zum Schluss.
Das Ergebniss stelle ich mir aber so vor:
Schlüssel 5,6,7,8 usw. sollen in solcher Tabellenform ausgegeben werden
Code:
+-----------------------------------------------------------------------------------+
| num| score| ping | name | lastmsg | address | qport | rate |
+-----------------------------------------------------------------------------------+
| 0 | 98 | 133 | <Anton'-,-~:> | 0 | 192.168.10.1:-3219 | 37323 | 5000 |
+-----------------------------------------------------------------------------------+
| 1 | 45 | 35 | * Point Blank * | 50 | 192.168.10.1:12203 | 22628 |15000 |
+-----------------------------------------------------------------------------------+
| 2 | 33 | 400 | {TRT}PiGeTa | 0 | 192.168.10.1:12203 | 63952 | 5000 |
+-----------------------------------------------------------------------------------+
| 3 | 82 | 64 | niel<>priel | 0 | 192.168.10.1:-3944 | 57187 |30000 |
+-----------------------------------------------------------------------------------+
Kann mir jemand ne Anregung geben wie ich Spielername mit Leerzeichen in Griff bekomme?
Gruss Oli
Lesezeichen