křížení tagů

(skoro) vsichni mate nejaky gb, ktery ste si delali a jsou tam nejake funkce pro tucen pismo, kurzivu, kod atd.

Dam priklad:
V textarea delam pokus - tady je normalni text - ted zmacknu input pro tucny text [b]tucny text[/b], asle chci aby to text bylo psane i kurzivou, takze vysledek pro uzivatele by byl:
normalni text, [b]tucny [i]text[/b] kurzivou[/i]
Coz si klasicky prevedu za pouzit str_replace na tagy. Ale vznika tady nevalidnosti. Uz jsme nad tim dumal hodne dlouhou dobu a nevim jak udleat funkci, ktera by doplnila ty tagy, aby se nekrizili, pls poradte nekdo, zacinam byt v koncich. Diky
Ja jsem se s tim nechtel moc delat, tak jsem to vytvoril nasledovne: dvojice bbkodu byla napr. [b]tucnytext[/] a nebo [i]kurziva[/] a nahradil jsem toto jako <span class="bold">tucnytext</span> (plus na zaver osetreni nadbytecnych/chybejicich uzaviracich tagu).

Jako dobre reseni se mi zda pouzit nejakoku php tridu pro praci s bbcode, kterou uz nekdo vytvoril (tipuju, ze jsou jich na netu mraky). Nejakou jsem si stahnul; nijak jsem ji sice nezkoumal, ale predpokladam, ze tam tento problem nejak osetreny je.
Super nasel jsem reseni, staci si to trosku upravit a melo by to jet... :)

http://halogan.xblog.cz/archiv/2005/08/php-prakticky-problem-pri-konverzi-textu-do-x-html
http://halogan.xblog.cz/archiv/2005/08/php-prakticky-problem-pri-konverzi-textu-do-x-html-podruhe