Asp.Net 提取编辑器中图片制作缩略图
提取编辑器中的首张图片
public static string GetFirstImages(string htmlText) { const string pattern = "<img [^~]*?>"; const string pattern1 = "src\\s*=\\s*((\"|\')?)(?<url>\\S+)(\"|\')?[^>]*"; string s = null; Match match = Regex.Match(htmlText, pattern, RegexOptions.IgnoreCase); //找到img标记 if (match.Success) { string img = match.Value; string imgsrc = Regex.Match(img, pattern1, RegexOptions.IgnoreCase).Result("${url}"); imgsrc = Regex.Replace(imgsrc, "\"|\'|\\>", "", RegexOptions.IgnoreCase); s = imgsrc; } return s; }
升级版本,提取文章中的所有图片的路径,存入ArrayList中;
调用方法:
ArrayList listImg = ImgHelper.getImgUrl(imgstring, @"<IMG[^>]+src=\s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", "src");
ImgHelper类
class ImgHelper { /// <summary> /// 获取文章中图片地址的方法 /// </summary> /// <param name="html">文章内容</param> /// <param name="regstr">正则表达式</param> /// <param name="keyname">关键属性名</param> /// <returns></returns> public static ArrayList getImgUrl(string html, string regstr, string keyname) { ArrayList resultStr = new ArrayList(); Regex r = new Regex(regstr, RegexOptions.IgnoreCase); MatchCollection mc = r.Matches(html); foreach (Match m in mc) { resultStr.Add(m.Groups[keyname].Value.ToLower()); } if (resultStr.Count > 0) { return resultStr; } else { //没有地址的时候返回空字符 resultStr.Add(""); return resultStr; } } }

浙公网安备 33010602011771号