Hallo
//suche nach "[" gefolgt von Zahlen, gefolgt von "=", gefolgt von irgendwelchen Zeichen bis zum nächsten Auftreten von "]".
$reg = "/[([0-9]+)=(.+?)]/";
if (preg_match($reg, $string, $matches)) {
echo $matches[1] . "<br>";
echo $matches[2];
}
Da war ich wohl ein bisschen vorschnell. An preg_match habe ich gar nicht gedacht, habe immer direkt mit preg_replace ersetzt.
Beispielsatz: "Gestern war ich in [1=Bremen] und habe meine [2=Tante] besucht..."
RegEx:
preg_match_all("~\[([0-4])=([[:graph:]]+)\]~", $text, $matches);
print_r($matches);
Ausgabe:
Array
(
[0] => Array
(
[0] => [1=Bremen]
[1] => [2=Tante]
)
[1] => Array
(
[0] => 1
[1] => 2
)
[2] => Array
(
[0] => Bremen
[1] => Tante
)
)
Soweit sieht das doch ganz ordentlich aus. Für das Inhaltsverzeichnis muss PHP jetzt allerdings wissen, dass "Tante" ein Unterobjekt von "Bremen" ist. Wie könnte ich das bewerkstelligen?
Gruß
telofon