UBB代码辅助类
将Html代码转换成UBB代码
using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace JsonsHelper { public class UBB { public static string UbbToHtml(string ubb) { if (ubb == null) return null; //ubb = HttpUtility.HtmlEncode(ubb); Regex rex = new Regex(@"(\[Quote=([\s\S]*)\])(.[^\[]*)(\[\/Quote\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<fieldset><legend>$2</legend>$3</fieldset>"); rex = new Regex(@"(\[b\])(.[^\[]*)(\[\/b\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<strong>$2</strong>"); rex = new Regex(@"(\[i\])(.[^\[]*)(\[\/i\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<i>$2</i>"); rex = new Regex(@"(\[u\])(.[^\[]*)(\[\/u\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<u>$2</u>"); rex = new Regex(@"(\[img\])(.[^\[]*)(\[\/img\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<a href=\"$2\" target=\"_blank\"><img src=\"$2\" width=\"16\" height=\"16\" alt=\"查看原图\" border=\"0\" /></a>"); rex = new Regex(@"(\[url\])(.[^\[]*)(\[\/url\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<a href=\"$2\" target=\"_blank\">$2</a>"); rex = new Regex(@"(\[url\=)(.*?)\](.[^\[]*)(\[\/url\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<a href=\"$2\" target=\"_blank\">$3</a>"); rex = new Regex(@"(\[email\])(.[^\[]*)(\[\/email\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<a href=\"mailto:$2\">$2</a>"); rex = new Regex(@"(\[quote\])(.[^\[]*)(\[\/quote\])", RegexOptions.IgnoreCase | RegexOptions.IgnoreCase); ubb = rex.Replace(ubb, "<fieldset><legend>引用内容</legend>$2</fieldset>"); //心情图片(待实现) string[] img = { "[:)]", "[#_#]", "[8*)]", "[:D]", "[:-)]", "[:P]", "[B_)]", "[B_I]", "[^_*]", "[:$]", "[:|]", "[:(]", "[:.(]", "[:_(]", "[):(]", "[:V]", "[*_*]", "[:^]", "[:?]", "[:!]", "[=:|]", "[:%]", "[:O]", "[:X]", "[|-)]", "[:Z]", "[:9]", "[:T]", "[:-*]", "[*_/]", "[:#|]", "[:69]", "[//shuang]", "[//qiang]", "[//ku]", "[//zan]", "[//heart]", "[//break]", "[//F]", "[//W]", "[//mail]", "[//strong]", "[//weak]", "[//share]", "[//phone]", "[//mobile]", "[//kiss]", "[//V]", "[//sun]", "[//moon]", "[//star]", "[(!)]", "[//TV]", "[//clock]", "[//gift]", "[//cash]", "[//coffee]", "[//rice]", "[//watermelon]", "[//tomato]", "[//pill]", "[//pig]", "[//football]", "[//shit]" }; for (int i = 0; i < img.Length; i ) { ubb = ubb.Replace(img[i], "<img src=\"/images/em/" i.ToString() ".gif\" />"); } //if (ubb.Length > 980) //{ // ubb = ubb.Substring(0, 980); // if (ubb.LastIndexOf(">") > 950) // { // ubb = ubb.Substring(0, ubb.LastIndexOf(">") 1); // } //} return ubb; } } }
原文链接:UBB代码辅助类