Texter mit x: String kann auch noch anders aussehen.

Beitrag lesen

Grundsätzlich könnte der gesamte HTML Code einer Webpage da durchlaufen.

Für das Sprach-Template-System ist ein String wie folgender vorgesehen:

{LG:FOO_BAR|foo|bar}

LG: <- sagt aus, dass er in der DB suchen soll
FOO_BAR <- ist der Identikator für den Sprachbaustein
foo und bar sind Elemente, die in den Sprachbaustein eingesetzt werden.

Was davon soll was identifizieren?

1. Kommt so ein Gesamtausdruck nur einmal pro zu durchsuchenden sting vor?
2. Sind FOO_BAR, foo, und bar dadurch gekennzeichnet, daß Du die, die Du haben willst alle kennst?
3. Kommen überhaupt nur solche vor die Du haben willst?
4. Soll zwischen Groß- und Kleinschreibung unterschieden werden?
5. Oder sind sie dadurch gekennzeichnet, daß sie zwischen "{LG:"  und "}" stehen und mit "|" getrennt sind?
6. ... oder zwischen "{irgendwas:irgendwasanderes|" und ... ?

Wenn ich dein $pattern anschaue, sind die Antworten offenbar zu 1. keine Ahnung (aber wahrscheinlich egal), zu 2. nein, zu 3. ja (aber egal), zu 4. nein, zu 5. ja und zu 6. nein.

Wenn die Antwort auf 5. ja lautet, kann man eventuell sagen, daß die Elemente die Du haben willst insgesamt zwischen "{LG:" und "}" stehen und einzeln zwischen ":" oder "|" und "|" oder "}". Ist dem so? Wenn ja, könntest Du mit preg_match_all, look-ahead und look-behind vermutlich zum Ziel kommen. Ich halte eine Folge einfacher Stringfunktionen in dem Fall aber für besser geeignet.