ну у меня только такой в голову вариант пока что пришел.
var text = 'test [b]bold[/b] blah [code]function(){}[/code] tar [quote]blah blah [i]ta[i]r[/i]am[/i] param[/quote]';
function parseBBCode( text ) {
return text.replace( /\[(([a-z]+)(?:\=[^\]]+)?)\](.*)\[\/\2\]/gi, function( all, tag, tagAttr, content ) {
return '<' + tagAttr + '>' + parseBBCode( content ) + '</' + tagAttr + '>';
});
}
alert( parseBBCode( text ) );