salve.
come tanti ho il problema della gestione del bbcode.
uso queste funzioni per passare da bbcode a html (per l'inserimento nel database) e da html a bbcode (per il reinserimento nei campi textarea per l'edit dei dati del database)
le due funzioni grossomodo fanno il loro dovere. nn ho fatto tutti i test del caso, ma per i casi generali dovrebbero andare.codice:function format($textarea){ $textarea = trim($textarea); $textarea = stripslashes($textarea); $textarea = htmlentities($textarea); $textarea = nl2br($textarea); $textarea = ereg_replace("\[B\]","",$textarea); $textarea = ereg_replace("\[/B\]","",$textarea); $textarea = ereg_replace("\[I\]","",$textarea); $textarea = ereg_replace("\[/I\]","",$textarea); $textarea = ereg_replace("\[U\]","<u>",$textarea); $textarea = ereg_replace("\[/U\]","</u>",$textarea); $textarea = preg_replace("#\[ url = ([^\]]+)\]#i", "<a href=\"\\1\" target=\"_blank\">", $textarea); $textarea = preg_replace("#\[/url\]#i", "</a>", $textarea); $textarea = preg_replace( "#\[img\](.+?)\[/img\]#si", "<img src=\"\\1\">", $textarea); return $textarea; } function re_format($textarea){ $textarea = ereg_replace("\ ","\n",$textarea); $textarea = ereg_replace("\","[B\]",$textarea); $textarea = ereg_replace("\","[/B\]",$textarea); $textarea = ereg_replace("\","[I\]",$textarea); $textarea = ereg_replace("\","[/I\]",$textarea); $textarea = ereg_replace("\<u>","[U\]",$textarea); $textarea = ereg_replace("\</u>","[/U\]",$textarea); $textarea = preg_replace("#\<a href=\"([^\]]+)\" target=\"_blank\">#i", "[ url= \\1]", $textarea); $textarea = preg_replace("#\</a>#i", "[/url]", $textarea); $textarea = preg_replace( "#\<img src=\"(.+?)\">#si", "[img]\\1\[/img]", $textarea); return $textarea; }
il problema rimane sempre lo stesso.
se qualcuno nn chiude un tag ? come posso far in modo che i tag vengano interpretati solo se correttamente chiusi (e magari, se nn chiusi, interpretarli come testo normale... come accade in questo forum )?
ho fatto una ricerca veloce, e ho notato che vi sono tante discussioni a riguardo, ma nessuna (almeno, io non ne ho trovato nessuna) con una risposta![]()
qualcuno che mi possa aiutare ?
thx, kicko

Rispondi quotando
.. purtroppo a qualcuno capita di non chiudere correttamente i tag, ed è una variabile che va considerata e quindi si cerca di risolverla ... tutto qua ...
