六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 43|回复: 0

C# 正则 获取 Img Src路径

[复制链接]

升级  42.67%

98

主题

98

主题

98

主题

举人

Rank: 3Rank: 3

积分
328
 楼主| 发表于 2013-1-26 14:46:34 | 显示全部楼层 |阅读模式
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>";for (int j = 0; j < GetHtmlImageUrlList(str).Length; j++)                        {                             //获取图片路径字符串                             string img = GetHtmlImageUrlList(str)[i];                             //删除服务器上的图片                             string filepath = Server.MapPath(img);                             FileInfo file = new FileInfo(filepath);                             if (file.Exists)                             {                                 file.Delete();                             }                        }


/// <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;        }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表