Hi,
was haltet ihr von meinem bisherigen Ansatz, 2 mögliche Elemente auf richtige Schachtelung zu prüfen?
z.B.
Tags 1: (div) (/div)
Tags 2: (span) (/span)
Nun werden in dem String alle Tags ersetzt durch einen Seperator (im Beispiels §) und dem jeweiligen Tag und einem folgenden §. Also wird (div) zu §(div)§.
Danach wird der String in ein array exploded an dem Seperator §.
Soweit so gut.
Nun möchte ich dieses Array irgendwie mit foreach durchgehen, eine Arbeitsvariable einbauen, die alle erwarteten Tags enthält und möchte dann entschieden was mit unerwarteten Tags passiert.
Also z.B. gehe ich mit foreach das Array durch, am Anfang sind in der "erwartete Tags"-Variable alle öffnenden Tags und normaler Text. Stößt man auf einen nicht erwarteten Tag, wird dieser evtl aus dem Array gelöscht (wie kann ich das am einfachsten?) stößt man aber auf einen öffnenden (also erwarteten) Tag, so wird der schließende noch zu den erwarteten gesetzt usw.
Nur leider ist das noch nicht ganz mein Ziel, da ich so die korrekte Schachtelung außen vor lasse.
Vielleicht kann mir jemand auf die Sprünge helfen?
Und bitte nicht mit der BBCode-Parserklasse kommen, ich möchte zur Übung im kleinen sowas selbst produzieren.
mit grüßen