private string SaveTableItems(string s) { MatchCollection matches = rexTablesContainer.Matches(s); TempContainer container; foreach (Match m in matches) { container = new TempContainer() { Content = m.Value.Trim() }; tableList.Add(container); } StringBuilder sb = new StringBuilder(s); foreach (TempContainer cont in tableList) { sb.Replace(cont.Content, cont.TempId.ToString()); } return sb.ToString(); }
private string SaveNoWikiPart(List<TempContainer> noWikiList, string s) { MatchCollection matches = rexNoWiki.Matches(s); TempContainer container; foreach (Match m in matches) { container = new TempContainer() { Content = m.Value.Trim() }; noWikiList.Add(container); } StringBuilder sb = new StringBuilder(s); foreach (TempContainer cont in noWikiList) { sb.Replace(cont.Content, string.Format(_convertNoWikitemplate, cont.TempId)); } return sb.ToString(); }
private string ProcessSavePreCollection(string s) { preList = new List<TempContainer>(); MatchCollection matches = rexPreContainer.Matches(s); TempContainer container; StringBuilder sb = new StringBuilder(s); foreach (Match m in matches) { var oldValue = m.Groups[1].Value.Trim(); container = new TempContainer() { Content = string.IsNullOrEmpty(oldValue) ? m.Value : m.Value.Replace(oldValue, XLT(oldValue, XltType.Pre)) }; sb.Replace(m.Value, container.TempId.ToString()); preList.Add(container); } return sb.ToString(); }
private string ProcessTables(string s) { List<TempContainer> linkList = new List<TempContainer>(); s = SaveLinkTabItems(linkList, s); MatchCollection matches = rexTableCell.Matches(s); TempContainer container; string value = string.Empty; List<TempContainer> cellEntries = new List<TempContainer>(); foreach (Match m in matches) { value = m.Groups[2].Value; if (!string.IsNullOrEmpty(value.Trim()) && CellEntriesCanBeAdded(cellEntries, value)) { container = new TempContainer() { Content = value }; cellEntries.Add(container); } } StringBuilder sb = new StringBuilder(s); foreach (TempContainer cont in cellEntries) { sb.Replace(cont.Content, cont.TempId.ToString() + "\n"); cont.Content = cont.Content.Trim(); } s = sb.ToString(); /*s = XLT(s);*/ //ProcessTableOnly!!! //s = LoadLinkTabItems(linkList, s); sb = new StringBuilder(XLT(s, XltType.Table)); foreach (TempContainer cont in cellEntries) { sb.Replace(cont.TempId.ToString(), XLT(LoadLinkTabItems(linkList, cont.Content))); } return sb.ToString(); }