Autor Beitrag
TheUnknown
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 334



BeitragVerfasst: Mo 01.04.13 14:47 
Hallo,

ich drehe mich bei einem PHP-Skript total im Kreis.

Ich habe drei Klammern, und ich will aber, dass NUR die mittler überbleibt. Das würde man eigentlich so lösen:

ausblenden PHP-Quelltext
1:
preg_replace("/(<olbb>)(.*)(</olbb>)/i""\\2"$text)					


Soweit so gut. Aber ich will GANZ sicher sein, dass die Funktion für die zweite Klammer auch definitiv erst stoppt, wenn </olbb> beginnt, nicht früher, nicht später, GENAU DA!

Ich dachte zuerst an:

ausblenden PHP-Quelltext
1:
preg_replace("/(<olbb>)([^<]*)(</olbb>)/i""\\2"$text)					


Um einfach zu sagen: "wenn das nächste Mal eine spitze Klammer aufgeht", aber was, wenn im zweiten Klammerargument aus irgendeinem anderen Grund spitze Klammern vorkommen, dann würde die Erkennung fatalerweise viel früher "abbrechen".

Also brauche ich etwas, was quasi so funktonieren müsste:

ausblenden PHP-Quelltext
1:
preg_replace("/(<olbb>)([^</olbb>]*)(</olbb>)/i""\\2"$text)					


Ich weiss, dass das syntaktisch falsch ist, aber ich kenne ^ nur für einzelne Zeichen, doch gibt es das auch für konkrete Zeichenketten?

PS: Dieses Beispiel ist sehr, sehr vereinfacht dargstellt, weil das Drumherum etwas zu aufwendig zu erklären wäre, weshalb sich mein Problem auch nicht mit einem Workaround lösen liese.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.