1 /// <summary> 2 /// 替换body中的img src属性 附加上域名 3 /// </summary> 4 /// <param name="str"></param> 5 /// <returns></returns> 6 protected virtual string ReplaceImg(string str) 7 { 8 // 定义正则表达式用来匹配 img 标签 9 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); 10 11 // 搜索匹配的字符串 12 MatchCollection matches = regImg.Matches(str); 13 int i = 0; 14 string[] sUrlList = new string[matches.Count]; 15 16 // 取得匹配项列表 17 foreach (Match match in matches) 18 sUrlList[i++] = match.Groups["imgUrl"].Value; 19 //return sUrlList; 20 foreach (var item in sUrlList) 21 { 22 string newStr = _storeContext.CurrentStore.Url + item.Substring(item.IndexOf('/')+1); 23 str = str.Replace(item, newStr); 24 } 25 return str; 26 }