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; } } }

 

posted @ 2013-11-01 18:51  web王  阅读(340)  评论(0)    收藏  举报