C# 利用正则表达式获取富文本框中所有Img Src路径

废话不多说,直接上代码:

 

Main程序

            string content = "<p><img src=\"/Uploads/Images/UEditor/2020052417350496181.jpg\" title=\"pic.jpg\" alt=\"pic.jpg\"/></p><p><br/></p><p><img src=\"/Uploads/Images/UEditor/2020052417361071834.jpg\" title=\"pic2.jpg\" alt=\"pic2.jpg\"/></p><p><br/></p>";
            string[] aa = GetHtmlImageUrlList(content);
            foreach (var item in aa)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

 

获取Img的路径方法

   /// <summary>
        /// 获取Img的路径
        /// </summary>
        /// <param name="htmlText">Html字符串文本</param>
        /// <returns>以数组形式返回图片路径</returns>
        public static string[] GetHtmlImageUrlList(string htmlText)
        {
            Regex 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);
            //新建一个matches的MatchCollection对象 保存 匹配对象个数(img标签)
            MatchCollection matches = regImg.Matches(htmlText);
            int i = 0;
            string[] sUrlList = new string[matches.Count];
            //遍历所有的img标签对象
            foreach (Match match in matches)
            {
                //获取所有Img的路径src,并保存到数组中
                sUrlList[i++] = match.Groups["imgUrl"].Value;
            }
            return sUrlList;
        }

 

posted @ 2020-05-25 14:54  代码沉思者  阅读(1083)  评论(0编辑  收藏  举报