von Neo007 |
Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,
Thx nochmal, ist echt nett von dir. |
von Neo007 |
Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,
Thx nochmal, ist echt nett von dir. |
von Paraplex |
Hier die veränderten Abschnitte:
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: |
//Variable, die du "mitschickst", mußt du dann hier natürlich löschen.
//Erhält als Wert den Usernamen ohne eckige Klammern.
//z.B. tommy oder Neo007
$uname="Neo007";
$user=explode("[",$content);
echo"<table>";
foreach($user as $value){
//Es werden nur Datensätze zur weiteren Verarbeitung zugelassen, die
//deinem "erweiterten Suchkriterium" genügen
if (preg_match("/$uname]/",$value)){
//Was hier vorher stand ist jetzt überflüssig, da du den Usernamen
//bereits mitlieferst
preg_match("/Stat_KBDown=.*n/",$value,$name1);
$name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
//Jetzt sind natürlich keine Arrays mehr nötig, da nur ein Datensatz
$download=$name1[0];
preg_match("/Stat_KBUp=.*n/",$value,$name1);
$name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
$upload=$name1[0];
echo"<tr><td>$uname</td><td>$download</td><td>$upload</td></tr>";
}
}
echo"</table>";
|
Das wars eigentlich schon.
Zum Verständnis solltest du dir mal den Artikel zu Regular Expressions des PHP-Manuals durchlesen (hoffe du bist einigermaßen fit im Englischen):
http://php3.de/manual/de/ref.pcre.php
oder für den Anfang verständlicher (und auf deutsch):
http://develnet.org/tech/dclp/regexp.html
Damit bist du dann denke ich in der Lage, die einzelnen Schritte nachzuvollziehen und noch eventuell notwendige Änderungen selbst vorzunehmen.
|
von Neo007 |
THX
Sag mal wie lange beschäftigst du dich schon mit php, ich meine ich mach auch hin und wieder was, aber bis ichs so drauf hab wie du bin ich 80 und kann net mehr mal ein Notebook bedienen.
Thx nochmal
funtzt wie ne eins
PS: wie müsste ich das ganze erweitern wenn ich nur bestimmte namen abfragen will, also in der ausgabedatei dann einfach deine Datei auf rufe, und beim Aufruf ne Variable mit dem abzufragenden Namen mitschicke???? |
von Paraplex |
Da lag ich ja gar nicht soweit daneben. Wenn die Datei wirklich genau so aussieht, wie du gepostet hast, kannst du z.B. folgendes verwenden:
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: |
//Einlesen der Datei
$newfile = fopen(dateiname,"r");
$content = fread($newfile, filesize(dateiname));
fclose($newfile);
//Datei wird am Trennzeichen ( [ ) zerlegt und die Einträge werden in ein
//Array geschrieben ($user)
$user=explode("[",$content);
//Damit du siehst wie es funktioniert, gebe ich alle Daten nachher als
//Beispiel in Tabellenzellen aus.
echo"<table>";
//Schrittweises Auslesen des "user-Arrays". Die Namen, Upload und
//Download werden in den Arrays $name, $upload und $download abgelegt.
foreach($user as $key => $value){
preg_match("/.*]n/",$value,$nick);
$nick[0]=preg_replace("/]/","",$nick[0]);
$name[$key]=$nick[0];
preg_match("/Stat_KBDown=.*n/",$value,$name1);
$name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
$download[$key]=$name1[0];
preg_match("/Stat_KBUp=.*n/",$value,$name1);
$name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
$upload[$key]=$name1[0];
//Daten in Tabellenzellen schreiben
if ($key>=1)
echo"<tr><td>$name[$key]</td><td>$download[$key]</td><td>$upload[$key]</td></tr>";
}
echo"</table>";
|
Hoffe, ich hab da jetzt auf die Schnelle keinen groben Fehler reingebaut.
Gruß |
|