Hallo,
ich habe folgendes Problem:
ich will auf meiner Seite so eine Art Tippdatenbank für mich selbst machen. Da es nicht sooo viele Tipps sein werden mache ich das ganze Textbasiert (das ist für mich ausreichend - ne Datenbank wäre overkill)
Nun will ich in dem Tipptext selbst zur normalen Formatierung HTML-Tags zulassen (wie gesagt ist ja nur für mich und außerdem passwortgeschützt - also keine Spamgefahr). Nur möchte evtl wenns zB nen Tipp zu HTML ist auch HTML-Quelltext anzeigen können - und zwar ohne ihn per hand durch die HTML-Zeichen wie <, > zu codieren.
Diese Teile möchte ich beim eingeben (und auch so abspeichern) mit ner Art BBCode (wie auch hier im Forum) codieren, also den Teil zwischen [ code ] und [ /code ] setzen.(edit - natürlich ohne die Leerzeichen in den eckigen Klammern - aber sonst macht er hier auch nen Codeblock draus)
Wenn ich also einen Tipp anzeigen will, der beispielsweise in der Variable $x als String drinsteht, müsste ich alle vorkommen von [ code ][ /code ] suchen, diese durch <div id="code"> </div> ersetzten (das ginge ja noch einfach mit "str_replace") - und dann den davon eingeschlossenen Teil mit "htmlentities" in die entsprechenden HTML-Zeichen codiert zum anzeigen.
Verschachtelte Elemente soll es also nicht geben, wohl aber mehre code-Blöcke im Text.
Ich hab jetzt schon mal en bischen mit Regulären Ausdrücken rumgespielt - aber so wirklich komm ich damit noch nicht zum Ziel, bzw ich weiss noch nicht genau wie ich das ersetzen dann in PHP bewerkstellen kann.
Zusammengebastelt hab ich mit bis jetzt folgenden Ausdruck:
(\[code\])(.*?)(\[\/code\])
blos wenn ich das
hier (Online RegExp-Auswertung) ausprobiere, dann markiert er mir immer beide code-Blöcke gleichzeitig.
Kann mir da wer weiterhelfen? Oder gibt es eine einfachere Möglichkeit?
Gruß,
oixio