so hab noch mal mich weitergesucht und hab soweit ich das glauben kann den überltäter gesehen. leider so ist es eben weiß ich wieder nicht wie ich ihn beheben kann.
PHP-Code:
if (preg_match_all($regex,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['playername'][] = $zeile;
}
}
So die wichtige zeile ist hier bei das
$input['playername'][] = $zeile;
wenn ich nun die [] weglasse kommt das als Fehlermeldung:
wird das angezeigt
('P', _______________________'__________________7 ', _______________________'_________________10 ')
nun da ich nur bei playername die [] weggelassen habe feht auch nur dort das leerzeichen hinter dem P. Sonst ist es immer hinter der 7 und der 10 zu sehen.
wenn ich das nun nicht nur bei playername mache sondern auch bei kills und deaths gibt er mir das zurück:
('P', _______________________'K', _______________________'D')
Nun der code sind dann folgendermasen so aus.
PHP-Code:
/*Datei auswählen*/
$datei = fopen($logfilename,'r');
/*Absuche nach relevanten Daten*/
while (!feof($datei))
{
$zeile = fgets($datei,1024);
$regex = "/^Playername *: /iU";
$regex1 = "/^Kills *: /iU";
$regex2 = "/^Deaths *: /iU";
if (preg_match_all($regex,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['playername'] = $zeile;
}
}
if (preg_match_all($regex1,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['kills'] = $zeile;
}
}
if (preg_match_all($regex2,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['deaths'] = $zeile;
}
}
}
fclose($datei);
$values = array();
for ($i = 0; $i < sizeof ($input['playername']); $i++)
{
$values[] = "('" . $input['playername'][$i] . "',
'" . $input['kills'][$i] . "',
'" . $input['deaths'][$i] . "')";
}
/*löschen von Playername etc.*/
foreach($values as $key=>$wert)
{
$values[$key] = str_replace(array(' '),'_',$wert);
$values[$key] = str_replace(array('Playername','Kills','Deaths',':'),'',$values[$key]);
echo $values[$key] ;
}
Nun ist allerdings die frage wieso er mir nicht mehr die playernames und kills und deaths ausgibt und stattdesen nur noch 'P', 'K' und 'D'.
muss man da auch noch was in der for schleife ändern damit das funktioniert oder wo liegt dort das problem?