Auslesen und speichern von Werten aus einem HTML Code
trucky
- datenbank
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ü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
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);
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
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über:<br>"
daraus lese ich
"Folgende Flotten stehen sich um"
DATUM UHRZEIT
"gegenüber:<br>"
herraus
folgedessen ist alles zwischen "sich um" und "gegenüber" der zeitpunkt - einer der zu extrahierenden werte also
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ü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
...snapWas 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ü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
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