標籤:
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; }
C# 正則 擷取 Img Src路徑