C# 正則 獲取 Img Src路徑


 1 string  str = "<form id=\"form1\" runat=\"server\"><div><p><img src=\"img/01300000278409123123126754611.jpg\" alt=\"\" /></p><p><img src=\"img/16583711.jpg\" alt=\"\" /></p><p><img src=\"img/2_091208000854_6.jpg\" alt=\"\" /></p></div></form>";
 2 for (int j = 0; j < GetHtmlImageUrlList(str).Length; j++)
 3                         {
 4                              //獲取圖片路徑字符串
 5                              string img = GetHtmlImageUrlList(str)[i];
 6                              //刪除服務器上的圖片
 7                              string filepath = Server.MapPath(img);
 8                              FileInfo file = new FileInfo(filepath);
 9                              if (file.Exists)
10                              {
11                                  file.Delete();
12                              }
13                         }
/// <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;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM