Bestimmte Daten aus einem Eingabefeld einlesen
Darillian
- html
Hallo,
ich zerbreche mir seit längerem den Kopf darüber, wie ich ein Eingabefeld realisieren kann, welches bei vielen Browsergame-Fanseiten verwendet wird:
Ich möchte ein einfaches Eingabefeld haben, ggf. mit ein paar DropDown-Menüs darüber (die kann ich selber realisieren), in welches man per copy&paste quasi den gesamten Text einer Seite in dieses Eingabefeld zu kopieren und dann nur bestimmte Werte in eine mySQL-Tabelle einzutragen. Nur weiß ich leider nicht, wie ich beim Auslesen bestimmte Sachen ignorieren lasse, andere aber hineinlese. Ums mal klarer auszudrücken:
Ich möchte mich einfach in das Browsergame einloggen, in meine Spielerstatistik reingehen und dort per Strg+A, Strg+C und Strg+V die komplette Seite als Text rauszuholen (ist einfach recht komfortabel), aber dann z.B. links die Navileiste nicht in die DB einzutragen, dafür aber z.B. das Level meine Schiffswerft oder die Anzahl meiner Truppen.
Hoffentlich wurde wenigstens ein paar von euch klar, was ich meine ;)
Danke im Vorraus
Darillian
Hi,
nachdem ich das jetzt drei Mal gelesen habe ist mir glaube ich zumindest klar was du willst. Das ändert nichts an der Tatsache, dass du dir damit wohl einen ziemlichen Brocken vornimmst. Im Prinzip läuft es auf auf eine Menge String-Frickelei raus, also Vorkommen eines Wertes suchen, mit Substring rausschneiden etc. Was du konkret tun musst hängt stark von der Struktur des kopierten Textes ab. Frage 1, kopierst du Quelltext (einfacher) oder reinen Inhalt (fast unmöglich)? Frage 2, wenn Quelltext, sind diese Passagen die dich da interessieren irgendwie besonders kenntlich gemacht (IDs o.ä.)?
Falls du nach reinem Inhalt suchst:
Ihre Schiffe Fighter 223Bomber 210
Sag mir mal die Stufe meiner Fighter! Sind es 223? Sind es "Fighter 2" und ich habe 23 davon? Das hängt extrem davon ab wie du den Inhalt bekommen kannst, aber unstrukturierte Informationen deartige auszulesen ist _extrem_ schwer.
MfG
Rouven
Jo, genau den Inhal möchte ich durchsuchen :)
Ums mal an dem Browsergame festzumachen:
Ich möchte auf folgenden Text, der per Ctrl+A, Ctrl+C und Ctrl+V ins Eingabefeld geholt wurde, nur die "relevanten" Daten unter "Gebäude" herausholen:
----------------------------------------------------------------------
Star Trek: Galaxy Conquest
home game stats faq forum chat impressum spenden
Kommando
kolonie
Senat
Gebäude
Forschungszentrum
Raumhafen
Schiffswerft
Schiffstemplates
Kaserne
Minen
Handelsstation
kommando
Planeten
Flotten
Taktik
Diplomatie
Allianz
datenbank
Allgemein
Logbuch
Nachrichten
allgemein
Portal
Rangliste
Einstellungen
Hilfe
Nächster Tick:
0:02:57
Sittingaccounts:
Senat:
Statistiken für Omikron Kappa-4
Gebäude: Kl. Orbitalgeschütz (Stufe 14) 3:47:56
Forschung: nichts
Kaserne: aktiv (Rem. Truppen) 0:05:56
Schiffswerft: Koloschiff 0:20:56
Allgemein:
Namen ändern:
Koordinaten: Q2:G3:3
Max. Ressourcen: 330000
Freie Einheiten: 11890/12200
Freie Arbeiter: 10762/12200
Kl. Orbit. Geschütze: 13x 150 - 200
Orbit. Geschütze: 0x 50 - 250
Punkte: 407/677
Klasse:
D (Klasse-D-Welt)
Leben:
aufwändig, aber möglich
Rohstoffe:
mittlere Vorkommen aller wichtigen Rohstoffe
Beschreibung:
Planeten dieser Klasse gelten meist nur ...
Beispiele:
Ceres (Asteroid im Sol-System)
Gebäude:
Senat (9)
Metallminen (9)
Mineralienminen (9)
Latinumraffinerie (9)
Kraftwerk (9)
Kaserne (9)
Raumhafen (9)
Schiffswerft (9)
Forschungszentrum (9)
Kl. Orbitalgeschütz (13)
Orbitalgeschütz (0)
Handelsstation (9)
Silos (9)
Truppen:
Centurion (87)
Rem. Truppen (20)
Tal Shiar (0)
Commander (0)
Techniker (14)
Mediziner (5)
Technologien:
Klimaneuordnung (4)
verb. Sklavenhaltung (6)
Orbitalabwehr (4)
Automatisierung (4)
Sklavenmotivation (6)
Komponenten:
Unterbringung (0%)
Maschinenraum (75%)
Primäre Waf.. (57%)
Sekundäre W.. (40%)
Hülle / Sch.. (60%)
Computersys.. (80%)
Medizin. Ei.. (60%)
Antrieb (75%)
Wissenschaf.. (100%)
Experimente.. (0%)
Notizblock: Ausblenden
Kappa-1: 2x Griffin1 Kappa-2: 2x Raptor Kappa-3: 2x Talon & 200 lv2 als Sicherheitstruppen bzw. zum Verkauf Kappa-4: 2x Talon & 200 lv2 als Sicherheitstruppen bzw. zum Verkauf Kappa-5: 200 lv3 als Sicherheitstruppen bzw. zum Verkauf Kappa-6: 2x Talon & 200 Techis & 200 Meds zum Verkauf Kappa-7: 200 Meds & 200 Techis & 200 lv2 Sicherheitstruppen bzw. zum Verkauf Kappa-8: 200 Com & 200 lv3 Sicherheitstruppen bzw. Verkauf 8019
Übersicht
Hi Darillian,
Allianz: Rest in Pieces
Punkte: 4182
Platz: 154
Omikron Kappa-4:
Klasse: D
Position: Q2:G3:3
Punkte: 407/677
8664/330k
64973 / 330k
10332 / 330k
1438 (+2.3) / 12200
87
20
0
0
14
5
234 / 174
Stat. Flotten:
copyright
0.0401 secs - 16 queries
based on stgc.de
----------------------------------------------------------------------
Und alle anderen Informationen beim Übertragen in eine DB einfach ausblenden. Nur wie mache ich das? Gibts irgendwas mit "ignore" oder so? Denn manche Sachen, die ich "wegschneiden" möchte, sind statisch, weshalb ich sie direkt im Sourcecode ignorieren lassen kann. Die Frage ist aber: Wie mache ich das? ;)
Gruß
Darillian
Hmh,
also unter der Voraussetzung, dass das wirklich jedes Mal GENAU SO aussieht:
Nimm JavaScript, PHP oder was dir gerade zur Filterung genehm ist:
3+4 geht evtl. auch effizienter...
Nun ja, das Konzept kippt sobald sich auch nur irgendwie das Format des Textes ändert und du machst das Spiel individuell für jeden Block und jeden Text.
MfG
Rouven