[REGEX] Verschachteln von Regulären Ausdrücken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [REGEX] Verschachteln von Regulären Ausdrücken

    Hallo zusammen!

    Ich suche das schon länger - vielleicht steht´s ja irgendwo und ich hab´s blos übersehen. Dann entschuldige ich mich schonmal und würde mich riesig über den entspr. Link freuen...

    Sie kann man einen Unterausdruck verneinen? Also ich möchte sowas wie eine eigene Formatierungssprache für Datenbankinhalte auf meiner Seite haben. Die Syntax ist die gleiche wie hier im Forum, nur etwas erweitert:
    Code:
    [img title="Das ist ein bild"]/images/test.gif[/img]
    Mit einem Regulären Ausdruck der Form
    Code:
    $text = preg_replace("/\[img title=\"([^\[]+)\"\]([^\[]+)\[\/img\]/", "<img src=\"$2\" title=\"$1\" />", $text);
    kann ich einen einzelnen Tag umwandeln. Was mache ich jetzt aber, wenn ich Tags verschachteln will? Die Reihenfolge, in der die Tags ineinander verschachtelt sind, kenn ich ja nicht...?

    PS: Wie kann ich eigentlich den vB Code abschalten?

  • #2
    Um verschachtelte Tags zu finden, benutze back references,
    PCRE_UNGREEDY (Modifier /U) und Schleifen.
    -> PCRE Pattern Syntax (nach BACK REFERENCES in Großbuchstaben suchen)
    -> PCRE Pattern Modifiers

    VB-Code abschalten: geht explizit leider nicht; aber du kannst für Beispiele
    irgendwelche anderen Klammern (<>, (), {}) benutzen.
    In code- und php-Blöcken ist VB automatisch ausgeschaltet.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X