Jeena Paradies: Verwirrende verschachtelungen eines Menüs

Beitrag lesen

Hallo,

Ich habe zwar schon früher damit gekämpft, aber die alte Lösung gefällt mir überhaupt nicht mehr und sie ist auch so unübersichtlich, dass ich sie selbst nicht mehr kappiere. Es soll eine Menüstruktur mittels einer Textdatei erfasst werden. Jede Zeile der Datei stellt einen Menüpunkt dar. Das Menü darf unendlich tief verschachtelt werden. Hier mal ein Beispiel wie so eine Textdatei vereinfacht aussehen würde:

  • a
  • b
    -- ba
    -- bb
    -- bc
  • c
    -- ca
    --- caa
    --- cab
    --- cac
    ---- caca
    ---- cacb
    ---- cacc
  • d
    -- da
  • e
  • f

Und das sollte das Ergebniss werden:

<ul>  
 <li>a</li>  
 <li>b  
   <ul>  
    <li>ba</li>  
    <li>bb</li>  
    <li>bc</li>  
  </ul>  
 </li>  
 <li>c  
   <ul>  
    <li>ca  
      <ul>  
       <li>caa</li>  
       <li>cab</li>  
       <li>cac  
         <ul>  
          <li>caca</li>  
          <li>cacb</li>  
          <li>cacc</li>  
         </ul>  
       </li>  
      </ul>  
    </li>  
   </ul>  
 </li>  
 <li>d  
  <ul>  
   <li>da</li>  
  </ul>  
 </li>  
 <li>e</li>  
 <li>f</li>  
</ul>

Ich komme an dem Punkt der Verschachtelungen nicht weiter. Immer fehlt irgendwo irgendwas, entweder was geöffnet wird oder was geschlossen wird und ich bekomme keine Übersicht rein. Ich mache es dann im Endeffekt in PHP, aber eigentlich würde es mir ausreichen, wenn mir jemand mal die Logik dahinter erklären würde, wie ich so ein Menü mit sich selbst aufrufenden schleifen oder Funktionen automatisch unendlich tief bauen kann?

Grüße
Jeena Paradies