
Ich wusel mich seit einiger Zeit durch diverse Anleitungen und Manuals für Reguläre Ausdrücke, aber entweder habe ich die alle nicht richtig verstanden oder es stand wirklich nicht drin!

Ich möchte nämlich eine kleine, einfache Codesprache "erfinden", die es Benutzern ermöglicht, Tabellen anzulegen.
Dabei benutze ich den preg_replace-Befehl, um folgendes umzuwandeln:
#TABELLE#(.*?)#ENDE# --> <table...><tr>\\1</tr></table>
#NEUE\ ZEILE# --> </tr><tr>
#ZELLE#(.*?)#ENDE# --> <td>\\1</td>
und
#ZELLE\ VERBINDE\ (.)#(.*?)#ENDE# --> <td colspan="\\1">\\2</td>
Eine Tabelle kann dann z.B. so aussehen:
Code: Alles auswählen
#TABELLE#
#ZELLE VERBINDE 2#
Überschrift
#ENDE#
#NEUE ZEILE#
#ZELLE#
Dies ist eine Zelle
#ENDE#
#ZELLE#
Dies die zweite
#ENDE#
#ENDE#
#ZELLE HELL RECHTS#....#ENDE'
Sicherlich könnte ich für jeden Fall (ZELLE HELL RECHTS, ZELLE RECHTS HELL, ZELLE HELL, ZELLE DUNKEL, ZELLE DUNKEL MITTIG, ...) eine eigene preg_replace-Zeile schreiben - aber das muss doch mit regulären Ausdrücken einfacher gehen? Also z.B.
#ZELLE(ist HELL angegeben?)(ist DUNKEL angegeben?)(ist RECHTS angegeben?)#(.*?)#ENDE#
und dass dann HELL in ' class="row1"', DUNKEL in ' class="row2"', RECHTS in ' align="right"' (oder wahlweise ' style="text-align:right"'

Kleiner Tipp? Ganzer Ausdruck?
