public static string UbbDecode(string str)
{
str = HtmlEncode(str);
str = Regex.Replace(str, @"[url](?
.+?)[/url]", "", RegexOptions.Compiled | RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"[url=(?.+?)](?.+?)[/url]", "", RegexOptions.Compiled | RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"[email](?.+?)[/email]", "", RegexOptions.Compiled | RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"[email=(?.+?)](?.+?)[/email]", "", RegexOptions.Compiled | RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"[flash](?.+?)[/flash]", "
", RegexOptions.Compiled | RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"[dir=(?[0-9]+?),(?[0-9]+?)](?.+?)[/dir]", "