public List<PrintPart> LargeParsing(string template, bool right) { if (string.IsNullOrEmpty(template)) return new List<PrintPart>() { new PrintPart() { Text = "" } }; var larges = Regex.Split(template, templateLarge); if (larges == null || larges.Length == 0) return null; var parts = new List<PrintPart>(); foreach (var large in larges) { // // var isLarge = Regex.IsMatch(template, "\\[\\*\\]" + large + "\\[/\\*\\]"); var isLarge = template.Contains("[*]" + large + "[/*]"); var part = new PrintPart() { Text = large, IsLarge = isLarge, IsCenter = false, IsRight = right }; parts.Add(part); } return parts; }
public List<PrintPart> TemplateParsing(string template) { var parts = new List<PrintPart>(); if (Regex.IsMatch(template, templateCenter)) { var text = Regex.Match(template, templateCenter).Groups[1].Value; var isLarge = Regex.IsMatch(template, templateLarge); if (isLarge) { text = Regex.Match(text, templateLarge).Groups[1].Value; } var part = new PrintPart() { Text = text, IsCenter = true, IsLarge = isLarge }; parts.Add(part); } else { var rights = Regex.Split(template, templateRight); if (rights.Length > 0) { foreach (var right in rights) { var template2 = template.Replace("[*]", string.Empty).Replace("[/*]", string.Empty); var right2 = right.Replace("[*]", string.Empty).Replace("[/*]", string.Empty); // var hasRight = Regex.IsMatch(template2, "\\[r\\]" + right2 + "\\[/r\\]"); var hasRight = template2.Contains("[r]" + right2 + "[/r]"); var tparts = LargeParsing(right, hasRight); if (tparts != null && tparts.Count > 0) parts.AddRange(tparts); } } } return parts; }