Andreas Jacob: preg_match_all() mit wiederholung

Beitrag lesen

Hallo zusammen!

ich habe (mal wieder) ein kleines Problem mit der preg_match function. Ich habe einen String aus einer Datei ausgelesen, die einen xml-ähnlichen Aufbau hat. In dieser Datei befinden sich Konfigurationsdaten für mehrere Projekte. Diese sehen (gekürzt) so aus:

<PROJECT id="1">Config für Projekt 1</PROJECT><PROJECT id="2">Config für Projekt 1</PROJECT>.......

Ich möchte nun mit für jedes Project die id="" auslesen und alles was innerhalb der beiden Tags steht. So in etwa:

$values[0][1] = "1";
$values[0][2] = "Config für Projekt 1";

$values[1][1] = "2";
$values[1][2] = "Config für Projekt 2";

Dazu verwende ich folgenden Ausdruck:

preg_match_all("/<project id="([\d+])">(.*)</project>/i", $cfgString, $values);

Leider erkennt dieser nicht, dass es sich bei obigen String um 2 Projekte handelt und gibt mir als Ergebnis:

$values[1] = "1";
$values[2] = "Config für Projekt 1</PROJECT><PROJECT id="2">Config für Projekt 1";

Hat jemand eine Idee wie das geht? Ist wahrscheinlich wieder total einfach, aber ich hab Tomaten vor den Augen.

Danke

Andreas