Willkommen in der Webstatt Zum Webstatt Blog und Stories
Dustwolf Dustwolf am 11.05.06 18:48

Ich ersetze einen Regex, der wie folgt lautet:

'#{'.$id.'}#'

Also sollte aus {datum} das Datum entsprechend werden. Allerdings habe ich das Datum in Klammern gepackt:

({datum}) und nun klappt das alles überhaupt nicht mehr. Mein ganzes Templatesystem ist mit der Zeile dann verbugt ohne Ende. Wenn ich die Klammern weg nehme, gibt es kein Problem. Wenn ich nur eine von den runden Klammern wegnehme, schreibt er was von parathesies oder so.

Wie kann ich das beheben?

Danke schonmal für alle Ratschläge.

netcup.de Warum gibt es hier Werbung?
milahu milahu am 11.05.06 19:41

In regulären Ausdrücken sind auch geschweifte Klammern Sonderzeichen, die escaped werden wollen:
$exp = '#\{'.$id.'\}#';

Dustwolf Dustwolf am 11.05.06 21:03

OK, danke. Aber wieso stört ihn das nur bei der Kombination mit den runden Klammern davor?

Ich habe auch mal gelesen, dass man Sonderzeichen nciht unbedingt escapen muss. Deswegen soll man ja auch bestimmte Delimeter verwenden.

Michael Michael am 11.05.06 22:02

Quote
Original von Dustwolf
Ich habe auch mal gelesen, dass man Sonderzeichen nciht unbedingt escapen muss. Deswegen soll man ja auch bestimmte Delimeter verwenden.


Dann musst du die Begrenzer nicht escapen. Sonderzeichen musst und sollst du immer escapen. Alles andere schnellst möglich vergessen.

Dustwolf Dustwolf am 11.05.06 22:04

Ah, OK. Danke. :D

Dustwolf Dustwolf am 12.05.06 15:51

So, leider hat es doch ncihts geholfen...

Mein Templatesystem kann bei Tabellenzeilen auch dublizieren:

<!-- ANFANG news -->
...
<!-- ENDE news -->

Da würde er nen Objekt anlegen in das man halt wieder Einträge schreiben kann. Das ganze ersetzt er normalerweise auch einfach durch {news} und setzt da dann den Block wieder ein.


Nur wenn ich das Klammerkonstrukt da stehen habe, lässt er die Kommentarzeilen da einfach stehen. Hab jetzt auch escapted....

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt