Achim Schrepfer: an die RegEx-Spezialisten

Hallo Forumers,

ich möchte gerne aus einfachen Texten mit bestimmten Mustern HTML-Code erzeugen. Unter anderem sollen automatisch Listen generiert werden. Alle Zeilen, die aufeinander folgend mit einem "- " beginnen, sollen zu einer Liste (<ul>) zusammengefasst werden. Also etwa so:

Text blabla...

    1. Listenpunkt
    1. Listenpunkt
      weiter im Text
      und noch weiter
    1. LP der zweiten Liste
    1. LP der zweiten Liste

Aus diesem Text möchte ich mittels regulärer Ausdrücke HTML-Code basteln:
<p>Text blabla...<br>
<ul>
<li>- 1. Listenpunkt</li>
<li>- 2. Listenpunkt</li>
</ul>
weiter im Text<br>
und noch weiter<br>
<ul>
<li>1. LP der zweiten Liste</li>
<li>2. LP der zweiten Liste</li>
</ul>

Jetzt könnte ich das schon irgendwie hinmurksen, aber ich habe keine Ahnung, wie soetwas elegant und v.a. effizient mit PHP zu bewerkstelligen ist. Kann mir jemand von euch helfen?

viele Grüße
Achim Schrepfer

  1. Hi,

    ich möchte gerne aus einfachen Texten mit bestimmten Mustern HTML-Code erzeugen.

    Regular Expresseions sind nicht für Strukturen geeignet. Gehe den Text auf "traditionelle" Art zeilenweise durch, erkenne Statusänderungen durch Speicherung von Zuständen. Hier kannst Du gerne RegExp einsetzen - das Problem _komplett_ mit diesen zu lösen ist jedoch nicht möglich.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hi Cheatah,

      Regular Expresseions sind nicht für Strukturen geeignet. Gehe den Text auf "traditionelle" Art zeilenweise durch, erkenne Statusänderungen durch Speicherung von Zuständen. Hier kannst Du gerne RegExp einsetzen - das Problem _komplett_ mit diesen zu lösen ist jedoch nicht möglich.

      das dachte ich mir schon irgendwie. Hatte halt die Hoffnung, daß jemand was weis, wovon ich nicht zu träumen gewagt hätte *g*. Danke jedenfalls für Deinen Hinweis.

      :wq

      viele Grüße
      Achim Schrepfer

      1. Moin Achim,

        Regular Expresseions sind nicht für Strukturen geeignet.

        Richtig waere: Regular Expressions sind nicht fuer rekursive
        Strukturen geeignet ;) Fuer einfache Gramatiken sind sie
        durchaus gedacht und auch entwickelt worden.

        Gehe den Text auf "traditionelle" Art zeilenweise durch,
        erkenne Statusänderungen durch Speicherung von
        Zuständen. Hier kannst Du gerne RegExp einsetzen - das
        Problem _komplett_ mit diesen zu lösen ist jedoch nicht
        möglich.

        ACK.

        das dachte ich mir schon irgendwie. Hatte halt die
        Hoffnung, daß jemand was weis, wovon ich nicht zu
        träumen gewagt hätte *g*.

        Nee, da gibts nichts zu wissen :) Regulaere Ausdruecke
        koennen nunmal keine rekursiven Strukturen beschreiben.

        Gruesse,
         CK