trucky: Auslesen und speichern von Werten aus einem HTML Code

Hallo Forum!

Ich habe zwar ein wenig Ahnung von HTML, aber das, was ich jetzt brauche, stösst wohl doch an meine Grenzen!

Ich spiele Ogame (vielleicht kennen es einige?) Da gibt es Kampfberichte. Folgenden Html Code (eher Brocken) möchte ich gerne auseinander genommen haben und die Sachen die ich brauche, gerne in eine Datenbank speichern (MySql)

snip...
Folgende Flotten stehen sich um 06-19 15:54:49 gegen&uuml;ber:<br>
<br>Der Verteidiger hat insgesamt 2.000 Units verloren.<br>Auf diesen Raumkoordinaten liegen nun 0 Metall und 0 Kristall.
(<a href=# onclick=showGalaxy(4,175,5); >
 Der Angreifer hat die Schlacht gewonnen!<br>Er erbeutet<br>50.000 Metall, 47.260 Kristall und 28.329 Deuterium
...snap

Was mir nun hier wichtig wäre, sind die
1.) Uhrzeit
2.) Die Raumkoordinate
3.) Der Angreifer gewinnt oder der Verteidiger
4.) Die Units die er verloren hat
5.) Die Menge an Material (Metall, Kristall und Deuterium), die erbeutet wurde.

Wäre nett, wenn mir jemand aufzeigen könnte, wie man sowas machen könnte.

Gruss Alex

  1. Wäre nett, wenn mir jemand aufzeigen könnte, wie man sowas machen könnte.

    zwei möglichkeiten: ein sgml-parser oder reguläre ausdrücke
    erstere methode fällt flach, da ogame mit html etwa soviel zu tun hat wie ein indischer elefant mit einer stubenfliege (achtung, ironie)

    in php ist es zb mit regulären ausdrücken möglich
    alles zwischen "sich um" und "gegen" ist die uhrzeit
    preg_match('/sich um(.*)gegen/', $string);

    1. zwei möglichkeiten: ein sgml-parser oder reguläre ausdrücke
      erstere methode fällt flach, da ogame mit html etwa soviel zu tun hat wie ein indischer elefant mit einer stubenfliege (achtung, ironie)

      in php ist es zb mit regulären ausdrücken möglich
      alles zwischen "sich um" und "gegen" ist die uhrzeit
      preg_match('/sich um(.*)gegen/', $string);

      gut, also werde ich mich mal um reguläre Ausdrücke bemühen.

      Aber was du mit

      alles zwischen "sich um" und "gegen" ist die uhrzeit

      sowas meinst, ist mir schleierhaft!

      Gruss

      1. Aber was du mit

        alles zwischen "sich um" und "gegen" ist die uhrzeit
        sowas meinst, ist mir schleierhaft!

        dein gepostetes html:
        "Folgende Flotten stehen sich um 06-19 15:54:49 gegen&uuml;ber:<br>"

        daraus lese ich

        "Folgende Flotten stehen sich um"
        DATUM UHRZEIT
        "gegen&uuml;ber:<br>"

        herraus

        folgedessen ist alles zwischen "sich um" und "gegen&uuml;ber" der zeitpunkt - einer der zu extrahierenden werte also

  2. Mahlzeit trucky,

    Ich spiele Ogame (vielleicht kennen es einige?)

    Von dem Zeitvernichter bin ich rechtzeitig wieder losgekommen ... :-)

    Da gibt es Kampfberichte. Folgenden Html Code (eher Brocken) möchte ich gerne auseinander genommen haben und die Sachen die ich brauche, gerne in eine Datenbank speichern (MySql)

    Wenn die Kampfbericht IMMER EINDEUTIG (man kann diese beiden Begriffe gar nicht fett genug schreiben!) einem bestimmten Schema entsprechen, kannst Du sie mit regulären Ausdrücken auseinandernehmen.

    Als Anregung ein paar Ideen, die vielleicht so oder so ähnlich funktionieren:

    snip...
    Folgende Flotten stehen sich um 06-19 15:54:49 gegen&uuml;ber:<br>
    <br>Der Verteidiger hat insgesamt 2.000 Units verloren.<br>Auf diesen Raumkoordinaten liegen nun 0 Metall und 0 Kristall.
    (<a href=# onclick=showGalaxy(4,175,5); >
    Der Angreifer hat die Schlacht gewonnen!<br>Er erbeutet<br>50.000 Metall, 47.260 Kristall und 28.329 Deuterium
    ...snap

    Was mir nun hier wichtig wäre, sind die
    1.) Uhrzeit

    / um ([0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}) gegen&uuml;ber:/

    2.) Die Raumkoordinate

    /showGalaxy((4,175,5));/

    3.) Der Angreifer gewinnt oder der Verteidiger

    /Der ([a-zA-Z]+) hat die Schlacht gewonnen!<br>/

    4.) Die Units die er verloren hat

    /<br>Der ([a-zA-Z]+) hat insgesamt (([0-9]*.*)*[0-9]+) Units verloren.<br>/

    5.) Die Menge an Material (Metall, Kristall und Deuterium), die erbeutet wurde.

    Naja, so ähnlich halt auch das ... ist mir jetzt zu viel Tipparbeit.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Von dem Zeitvernichter bin ich rechtzeitig wieder losgekommen ... :-)

      war auf platz 7 in uni12, dann hat mich die motiviation verlassen und ich hab meinen account verschenkt - mit anderen worten ich bin nicht rechtzeitig aber doch noch losgekommen :D