using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace HandRecorderPS.parser { class hrBuilderBBCode { private string _output; public string output { get { return _output; } } public hrBuilderBBCode() { } public hrBuilderBBCode(string hTXT) { string foldRegExReplace = @"[color:#666666][i]$1[/i][/color]"; string checkRegExReplace = @"[color:#000000]$1[/color]"; string actionRegExReplace = @"[color:#FF0000]$1[/color]"; string roundRegExReplace = @"[b]$1[/b]"; string totalPlayersRegExReplace = @"[color:#0000FF]$1[/color]"; string spadeRegExReplace = @" [b]$1[/b]:spade:"; string heartRegExReplace = @" [b]$1[/b]:heart:"; string clubRegExReplace = @" [b]$1[/b]:club:"; string diamondRegExReplace = @" [b]$1[/b]:diamond:"; hTXT = "[color:#000000]" + hTXT; hTXT = Regex.Replace(hTXT, @"(\d+ folds|\S+ folds|\d+ fold|\S+ fold)", foldRegExReplace); hTXT = Regex.Replace(hTXT, @"(\S+ checks|\S+ calls)", checkRegExReplace); hTXT = Regex.Replace(hTXT, @"(\S+ (bets|raises|3-bets|caps))", actionRegExReplace); hTXT = Regex.Replace(hTXT, @"((Preflop|Flop|Turn|River|Final\sPot):)", roundRegExReplace); hTXT = Regex.Replace(hTXT, @"(\( \d+ handed \)|\(\d+ players\)|\(\d+ all-in\))", totalPlayersRegExReplace); hTXT = Regex.Replace(hTXT, @"\s+([A|K|Q|J|T|\d+])s", spadeRegExReplace); hTXT = Regex.Replace(hTXT, @"\s+([A|K|Q|J|T|\d+])h", heartRegExReplace); hTXT = Regex.Replace(hTXT, @"\s+([A|K|Q|J|T|\d+])c", clubRegExReplace); hTXT = Regex.Replace(hTXT, @"\s+([A|K|Q|J|T|\d+])d", diamondRegExReplace); hTXT += "[/color]"; _output = hTXT; } } }