Neue Signatur Statsanzeige

  • Aber manchmal ist sowas voll der Hass ;)

    Hier nun mal mein komplette version , zurück kommt ein mehrdimensionales Array.

    $Stats[0][n] -> Allgemeine Statistiken
    $Stats[1][n] -> Rassen Übersicht
    $Stats[2][n] -> 1 vs 1
    $Stats[3][n] -> 2 vs 2
    $Stats[4][n] -> 3 vs 3

    so ca.

    Naja man muss sehen , der füllt zu viele Felder aus , da ich einfach strip_tags() gemacht habe ;) Aber das kann man ja nochmal überprüfen dann und die leeren felder rauspicken.

    Die Wichtgen liegen direkt zusammen , $Stats[0][8] = "Wins" $Stats[0][9] = 91 zum Beispiel

    Hier nochmal der komplette Code nun. Da hab ich mich ja auch gleich mal herrlich verrant am Anfang ;) Aber eine gute Übung sowas.

    Entschuldigt die Unübersichtlichkeit ,und das ich mal deinen Namen missbraucht habe Badfish :)

    Das Ergebniss kann man hier noch einmal einsehen dann

    http://www.ffa4dow.de/banner.php

    Wenn Du Dir mal reguläre Ausdrücke ansehen willst , da gibt es ein gutes Tutorial im Netz. Muss man mal bei Google nach regexp suchen. Das war über mehere Seiten verteilt und am Anfang nur Runenschrift. Das da sind selber noch einfache Reguläre Ausrücke , da gibs ja noch richtig fiese Dinger , . der eine Regexp von einen war gut 250 zeichen lang , dafür hat der auch jegliches Format einer URL gefunden egal was da stand *G* Das hab ich auch noch nich hinbekommen :)

    Edited 4 times, last by Fips (February 28, 2006 at 2:24 AM).

  • habs mir mal angeschaut, aber für die regexp brauch ich aber noch länger^^
    um das script zu benutzen muss man aber nicht unbedingt verstehen, die ausgabe sieht ja schonmal sehr gut aus. Ich hab mal alles nennenswerte rausgesucht, wobei man auf die strings eigentlich auch verzichten könnte:

    (beispiel an meinem account)

    General Stats:
    $Stats[0][3] => Played Games
    $Stats[0][4] => 210
    $Stats[0][8] => Losses
    $Stats[0][9] => 85
    $Stats[0][14] => Disconnects
    $Stats[0][15] => 0
    $Stats[0][19] => Avg. Game Length
    $Stats[0][20] => 11

    Races:
    $Stats[1][10] => Space Marines
    $Stats[1][11] => 0
    $Stats[1][12] => 1
    $Stats[1][16] => Chaos
    $Stats[1][17] => 0
    $Stats[1][18] => 0
    $Stats[1][22] => Eldar
    $Stats[1][23] => 50
    $Stats[1][24] => 38
    $Stats[1][28] => Ork
    $Stats[1][29] => 75
    $Stats[1][30] => 46
    $Stats[1][34] => Imperial Guard
    $Stats[1][35] => 0
    $Stats[1][36] => 0

    1vs1 score
    $Stats[2][2] => Score
    $Stats[2][3] => 1433
    $Stats[2][7] => Race
    $Stats[2][8] => Ork
    $Stats[2][13] => Wins
    $Stats[2][14] => 91
    $Stats[2][19] => Losses
    $Stats[2][20] => 65

    2vs2 score
    $Stats[3][2] => Score
    $Stats[3][3] => 1000
    $Stats[3][7] => Race
    $Stats[3][8] => Chaos
    $Stats[3][13] => Wins
    $Stats[3][14] => 0
    $Stats[3][19] => Losses
    $Stats[3][20] => 0

    3vs3 score
    $Stats[4][2] => Score
    $Stats[4][3] => 1023
    $Stats[4][7] => Race
    $Stats[4][8] => Eldar
    $Stats[4][13] => Wins
    $Stats[4][14] => 1
    $Stats[4][19] => Losses
    $Stats[4][20] => 0

    jetzt kann dann wohl jeder sein eigenes banner basteln ;)
    (gut ohne php wissen wird man wohl immernoch nicht auskommen, aber da wird barto wohl bald für abhilfe sorgen)

    Edited once, last by BadFish (February 28, 2006 at 12:55 PM).

  • Naja im Prinzip würde ich schon vorher filtern , das heisst in dem Teil muss man das so abändern dann. Das sollte dann dazu führen das die Elemnte die nur ein <tr> enthalten haben oder ein </tr> nicht mehr mit in das Array reingeprügelt werden.Ungetestet nun.

    Aber so wird das Array handlicher , und die Laufzeit senkt sich, wobei es bei den paar Array Elementen kaum eine Rolle spielen sollte , bei 90.000 Einträgen wird das schon interessanter dann *G*

    Code
    ...
    do{
    $content_holder = trim(strip_tags($file_content));
            if(!empty($content_holder){
                 $Stats[$i][$j] = $content_holder;
    	     $j++;
            }
    	$file_content = fgets($file,255);
    }while(!preg_match("/&lt;\/table&gt;/",htmlspecialchars($file_content),$matches));
    ...

    Da ist ja alles was zwischen <table> und </table> steht , das heisst durch strip_tags werden die <tr> und <td> bzw </tr></td> tags entfernt darum kommt es zu Leerstellen.

    also müsste man den String kurz zwischen speichern und schaun ob er leer ist , wenn dies nicht der Fall ist dann speicher es im Array ab.

    Wenn Bedarf besteht kann ich daraus auch noch eine Klasse bauen die dann die entsprechenden Teile zurückliefert die man möchte. Aber mit ein paar PHP Kentnissen wird man denke ich damit auch keine grossen Probleme mehr haben. Ist ja auch nur ein Ansatz um den Leuten die ein wenig PHP können aber da nun Probleme hatten etwas zu helfen.

    Was ich nun noch nicht gemacht habe , ist das createimgfromjpg oder png etc , da müsste ich mich auch nochmal schlau machen zwecks Headern und das Bild zeichnen :)

    [Edit]
    Nochmal ein kleines update , da hat sich ein Bug eingeschlichen , aber das ist kurios. Laut var_dump war es ein String aber mit !empty denkt er ebenfalls die 0 sein falsch zu werten.
    Kann man mit strlen aber aus dem Weg räumen.

    Ausgabe

    So nun kann ich endlich wieder in Ruhe schlafen :)

    Edited 3 times, last by Fips (February 28, 2006 at 11:55 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!