public string SavaImgReplaceSrc(string content) { List <String> srcList = new List <String>(); String img = ""; Matcher m_image; String regEx_img = "<img[^>]*>"; String regEx_backgroundimg = "url([^>]*)"; string xmorign = "?x-oss-process=style/xmorient"; content = content.Replace(xmorign, ""); Regex rx = new Regex(regEx_img, RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex bgrx = new Regex(regEx_backgroundimg, RegexOptions.Compiled | RegexOptions.IgnoreCase); MatchCollection mc = rx.Matches(content); MatchCollection bgmc = bgrx.Matches(content); if (mc.Count > 0) { foreach (Match image in mc) { // 得到<img />数据 var m = new Regex("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)", RegexOptions.Compiled).Match(image.Value); if (m.Value.Contains("statics.xiumi.us")) { srcList.Add(m.Value); var httpsrc = m.Value.Substring(m.Value.IndexOf("=\"") + 2, m.Value.LastIndexOf("\"") - m.Value.IndexOf("=\"") - 2); var newvalue = WebClientHelper.DownLoadImages(httpsrc, this.webRootPath); content = content.Replace(httpsrc, newvalue); } } } if (bgmc.Count > 0) { foreach (Match image in bgmc) { // 得到<img />数据 var m = new Regex("[a-zA-z]+://[^\\s]*[jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga]", RegexOptions.Compiled).Match(image.Value); if (m.Value.Contains("statics.xiumi.us")) { srcList.Add(m.Value); var httpsrc = m.Value.Substring(0, m.Value.LastIndexOf(""")); var newvalue = WebClientHelper.DownLoadImages(httpsrc, this.webRootPath); content = content.Replace(httpsrc, newvalue); } } } //p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE); //m_image = p_image.matcher(content); //while (m_image.find()) //{ // // 得到<img />数据 // img = m_image.group(); // // 匹配<img>中的src数据 // Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img); // List<String> imgList = new ArrayList<String>(); // while (m.find()) // { // imgList.add(m.group(1)); // } // //包含秀米服务器的图片放入srcList做处理 // if (imgList.get(0).contains("statics.xiumi.us")) // { // srcList.add(imgList.get(0)); // } //} return(content); }