Reguläre Ausdrücke?

Hallo,

ich will einen „Parser“ basteln, also konkret:

Der Spieler kopiert seinen Text in mein Textfeld.
Es handelt sich hierbei um ein Spionagebericht in einem Browsergame. Also sind dort Einheiten enthalten.

Ich habe ein Array, wo die Einheiten aufgelistet sind:

kleiner Einblick

$einheiten[] = array(„Name“ => „Soldat“,
„Klassifikation“=>„Infanterie“);
$einheiten[] = array(„Name“ => „Grenadier“,
„Klassifikation“=>„Infanterie“);
…usw.

Also, der „Parser“ soll im Text nach den Einheiten schauen und die Zahl ermitteln, die nebendran steht und jede jeweils in eine Variable speichern.

Habe da was von Regulären Ausdrücken gehört, also preg_match, usw.
Aber ich habe es leider nicht ganz verstanden… :frowning:

Hoffe da könnte ihr mir helfen

Danke
CC

Hallo,

preg_match() funktioniert so:

preg_match_all(’/Soldat\s([0-9])+/’, $meinText, $matches);

würde aus der Variablen $meinText einen String extrahieren, der so aussehen muss: „Soldat[1 Leerzeichen][Zahl]“. Der Wert steht in diesem Fall im Arrayfeld $matches[1]. Das musst du für alle Einheiten machen. Du könntest auch schauen, ob Einheiten z.B immer an einem Zeilenanfang stehen. Dann könntest du versuchen das Ganze automatisiert ablaufen zu lassen, in dem du nach /\n\r[a-zA-Z]+?\s[0-9]+/ suchen lässt. Das Letztere ist ungetestet, da musst du dich dann noch mit auseinandersetzen.

Hier gibt es eine Erklärung aller Regex-characters: http://www.crazygrrl.com/weav/reference.php3

Daniel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]