Пример #1
0
        public static List <HtmlContent> GetHtmlContent(string txt)
        {
            txt = txt.Replace("<div", "<p").Replace("</div>", "</p>");
            var list = new List <HtmlContent>();

            var regEx = new Regex(
                @"(\<p.*?\>)(?<text>.*?)(\<\/p\>|$)",
                RegexOptions.IgnoreCase | RegexOptions.Singleline);

            foreach (Match match in regEx.Matches(txt))
            {
                var item = match.Groups["text"].Value.Trim();
                if (item.Contains("<img"))
                {
                    var paragraph = new Paragraph();
                    var regImg    = new Regex(
                        @"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>",
                        RegexOptions.IgnoreCase);
                    foreach (Match matchImg in regImg.Matches(item))
                    {
                        list.Add(HtmlContent.Create(matchImg.Groups["imgUrl"].Value.Trim(), null));
                    }
                }
                else if (item.Contains("<span"))
                {
                    list.Add(HtmlContent.Create(null, NoHTML(item)));
                }
                else
                {
                    list.Add(HtmlContent.Create(null, NoHTML(item)));
                }
            }

            return(list);
        }