I think that BBcode etc, is extremely silly. Using HTML makes a lot more sense, but you need to strip it very carefully to prevent XSS attacks (and other nasties).
I wrote a very thorough function which parses a string as HTML, then decides whether it should nltobr() on it, to produce sanitised, tidied HTML. This allows posters to use HTML if they want, ignore if if they don't, and does NOT allow them to inject Javascript (by any one of the many methods of doing that).
Mark