Witam!

Mój problem odnosi sie do parsera bbcode, który potrafiłby zagnieżdżać listy, a raczej produkować poprawny kod z użytych znaczników.
Użycie takich znaczników i wyplucie HTML jest proste ale niepoprawne:
  1. [ol]
  2. [li]Punkt pierwszy[/li]
  3. [ul]
  4. [li]Podpunkt pierwszy[/li]
  5. [li]Podpunkt drugi[/li]
  6. [/ul]
  7. [li]Punkt drugi[/li]
  8. [/ol]


Jak wszystkim wiadomo poprawny kod znaczników przy zagnieżdżaniu list wygląda tak:
  1. [ol]
  2. [li]Punkt pierwszy
  3. [ul]
  4. [li]Podpunkt pierwszy[/li]
  5. [li]Podpunkt drugi[/li]
  6. [/ul]
  7. [/li]
  8. [li]Punkt drugi[/li]
  9. [/ol]


Jak sobie poradzić z takim zagnieżdżeniem? I wyprodukować poprawny kod HTML?

  1. <ol>
  2. <li>Punkt pierwszy
  3. <ul>
  4. <li>Podpunkt pierwszy</li>
  5. <li>Podpunkt drugi</li>
  6. </ul>
  7. </li>
  8. <li>Punkt drugi</li>
  9. </ol>