文章里面有个图片路径,我的想法是:读出文章内容的时候,通过正则表达来得到图片路径。
代码: public static string getPic (int cid)
   {
       StringBuilder strHtml = new StringBuilder();
       DataClassesDataContext db = new DataClassesDataContext();
       var query = (from item in db.Xk_Content
                    where item.ColumnId == cid 
                    orderby item.AddDate descending
                    select item).Take(5);
       if (query == null || query.Count() <= 0)
           return null;
       List<Xk_Content> list = query.ToList<Xk_Content>();
    string regstr="";//判断的正则不会请给我个,给了就有分
       strHtml.AppendLine(string.Format("<p><a href='{1}/info_{2}.htm'><img src={3}>{0}</a></p>", list[0].Content, list[0].ColumnId, list[0].Id,img.getImgUrl(list[0].Content.ToString(),regstr)));//这里调用IMG命名空间下的getImgUrl()的方法
       if (list.Count >= 3)
           strHtml.AppendLine(string.Format("<a>{0}</a>&nbsp;|&nbsp;<a>{1}</a>", list[1].Title, list[2].Title));
       strHtml.AppendLine("<ul>");
       return strHtml.ToString();   }这里就是获取到图片的路径:
 public static ArrayList getImgUrl(string html, string regstr)
    {        ArrayList resultStr = new ArrayList();        Regex r = new Regex(regstr, RegexOptions.IgnoreCase);        MatchCollection mc = r.Matches(html);
        foreach (Match m in mc)
        {
            resultStr.Add(m.Value.ToLower());        }        if (resultStr.Count > 0)
        {            return resultStr;        }        else
        {            //没有地址的时候返回空字符            resultStr.Add("");            return resultStr;        }
    }
}
各位帮帮忙,我就只有30分了

解决方案 »

  1.   

    Regex reg = new Regex(@"(?i)<img[^>]*?\ssrc\s*=\s*(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");
      MatchCollection mc = reg.Matches(yourStr);
      foreach (Match m in mc)
      {
      Console.Write(m.Groups["src"].Value + "\n");
      }
      

  2.   


    //只获取第一张
                string str = "<li class=\"center\"><a href=\"http://hi.csdn.net/panxunmiao1\" target=\"_blank\" onclick='LogClickCount(this,111);'>"
                       + "<img src=\"http://avatar.profile.csdn.net/6/F/2/2_panxunmiao1.jpg\" onmouseover=\"try{showUserCard(this,'panxunmiao1')}catch(ex){};\"/></a></li>"
                       + "<img src=\"http://avatar.profile.csdn.net/F/F/C/2_wuyq11.jpg\"  onmouseover=\"try{showUserCard(this,'wuyq11')}catch(ex){};\" /></a></li>";
                Regex reg = new Regex(@"(?is)<img[^>]*?src=(['""\s]?)(?<path>[^'""\s]+)\1[^>]*?>");
                Match match = reg.Match(str);
                if (match.Success)
                {
                    Response.Write(match.Value);
                }