// парсим текст страницы // вход - страница // выход - текст со страницы после парсинга public static string ParsingPage(string g) { if (g.Length < 1) { return(""); } int ihr1 = g.IndexOf("<hr"); int ihr2 = g.LastIndexOf("<hr"); if ((ihr1 < 0) || (ihr2 < 0)) { return(""); } g = g.Substring(ihr1, ihr2 - ihr1); g = ParsePage.ParseTags(g, tags); g = g.Replace(" ", " "); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); g = g.Replace(" >", ">").Replace("data-hve", " "); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); g = g.Replace("<em>", " ").Replace("</em>", " ").Replace("data-hve", " ").Replace("<h2>", " ").Replace("<h3>", " ").Replace("</h2>", " ").Replace("</h3>", " "); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); g = g.Replace(" >", ">").Replace("data-hve", " "); g = g.Replace("<a></a>", "").Replace("<div></div>", "").Replace("<span></span>", "").Replace("<a></a>", "").Replace("<div></div>", "").Replace("<span></span>", "").Replace("<a></a>", "").Replace("<div></div>", "").Replace("<span></span>", ""); g = ParsePage.ParseTags(g, tags); g = g.Replace("<a>×</a>", ""); g = ParsePage.ParseTags(g, tags1); g = g.Replace("страницы с подходящими изображениями", " "); g = g.Replace("<a>похожие изображения</a>", " "); g = g.Replace("благодарим за замечания.", " "); g = g.Replace("пожаловаться на содержание картинки.", " "); g = g.Replace("результаты поиска", " "); g = g.Replace("<a>сохраненная копия</a>", " "); g = g.Replace("<a>похожие</a>", " "); g = g.Replace("<ol>", " ").Replace("</ol>", " ").Replace("<li>", " ").Replace("</li>", " ").Replace("data-rt", " ").Replace("·", " "); g = g.Replace("<wbr>", " ").Replace(""", " ").Replace("...", " ").Replace("»", " ").Replace("«", " ").Replace("'", " "); g = g.Replace("<hr>", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); g = g.Replace(" >", ">").Replace("> ", ">").Replace(" <", "<").Replace("< ", "<"); g = g.Replace("<div>", " ").Replace("</div>", " ").Replace("<span>", " ").Replace("</span>", " ").Replace("<a>", " ").Replace("</a>", " "); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace("<div e>", " ").Replace(" ", " ").Replace(" ", " "); g = g.Replace(";", " ").Replace("+", " ").Replace("\"", " ").Replace("—", " ").Replace("|", " ").Replace(".", " ").Replace("%", " ").Replace("*", " ").Replace("/", " ").Replace(",", " ").Replace("!", " ").Replace("?", " ").Replace(":", " ").Replace("-", " ").Replace("(", " ").Replace(")", " "); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); return(g); }
// возвращает хтмл текст уровня private static string GetLvlHtml(string g) { string res = ""; res = ParsePage.ParseTags(g, tags4textlvl); res = ParsePage.ParseTags(res, tags4textlvl2); res = res.Replace("\t", " ").Replace("\n", "\r").Replace("<div class=\"spacer\"></div>", "\r").Replace("<br>", "\r").Replace("<ul>", "\r"); res = res.Replace("<div class=\"container\">", "\r").Replace("<div class=\"content\">", "\r"); res = res.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); res = res.Replace("\r\r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r"); res = res.Replace("\r", "\r\n").Replace(" \r\n", "\r\n").Replace("\r\n ", "\r\n"); return(res); }
// возвращает текст уровня private static string GetLvlText(string g) { string res = ""; g = g.Replace("\t", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); int i1 = g.ToLower().IndexOf("<h3>задание</h3>"); if (i1 == -1) { i1 = g.ToLower().IndexOf("<h3>task</h3>"); if (i1 == -1) { return(res); } } g = g.Substring(i1).Replace("<h3>задание</h3>", "").Replace("<h3>task</h3>", "").Replace("<h3>Задание</h3>", "").Replace("<h3>Task</h3>", "").Replace("<H3>задание</H3>", "").Replace("<H3>task</H3>", "").Replace("<H3>Задание</H3>", "").Replace("<H3>Task</H3>", ""); i1 = g.ToLower().IndexOf("</h3>"); if (i1 != -1) { g = g.Substring(0, i1); } i1 = g.ToLower().IndexOf("</div>"); if (i1 != -1) { g = g.Substring(0, i1); } g = g.Replace("\n", "\r").Replace("<br/>", "\r").Replace("<p>", " ").Replace("</p>", " ").Replace("\n", "\r").Replace("\n", "\r").Replace("\n", "\r"); g = g.Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace("\r ", "\r").Replace(" \r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r").Replace("\r\r", "\r"); string[] ar1 = System.Text.RegularExpressions.Regex.Split(g, "<div class=\"spacer\">"); res = res + ParsePage.ParseTags(ar1[0], tags4bonus) + "\r\r"; foreach (string s1 in ar1) { if (s1.Contains("<h3 class=\"color_bonus\">")) { string s2 = ParsePage.ParseTags(s1, tags4bonus); res = res + s1 + "\r\r"; // *** надо изменить, учесть обработку скриптов для картинок, выкинуть лишнее } } res = res.Replace("\r", "\r\n"); return(res); }
/// <summary> /// парсинг страницы со списком игр /// </summary> /// <param name="g">текст страницы</param> /// <returns>текст страницы</returns> private static string RemoveTags(string g) { g = ParsePage.ParseTags(g, tags4list); g = g.Replace(" ", " ").Replace(""", "\"").Replace("\t", " ").Replace("\n", " ").Replace("\r", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " ").Replace(" ", " "); return(g); }