大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > ASP.NET技巧 > ASP.NET/C#获取文章中第一张图片的地址代码

ASP.NET/C#获取文章中第一张图片的地址代码

关键词:ASP.NETC#第一张图片  阅读(1026) 赞(42)

[摘要]本文谈谈ASP.NET/C#获取文章中第一张图片的地址的方法,希望对您有所帮助。

前几天修改一个网站的布局的时候需要把简单的新闻列表修改为图文结合+新闻列表,不过这新闻的数据库非常简单,图片是在编辑器里面和HTML一起存入数据库中的content字段的,所以工作简化到从一个字符串里面获取图片的地址并输出。在HTML的图片标签一般如下格式所示:<img src=\'#\'" alt=”" title=”" width=”" height=”" />,这就相当于编程中的一个结构体啊,里面的一个个属性就是切入点,不过.NET中还没有函数去完成这个操作,自己根据别人的思路写个类吧。

算法有两个,一是根据查找字符串中是否有<img />标签,如果有的话输出src=\'#\'" /p>

首先新建一个类:Img.cs,然后添加引用:using System.Text.RegularExpressions;。Visual Studio 2010版本用户可以在粘贴完代码后右键直接添加缺失的引用,然后添加下面的代码。

///
/// 获取文章中第一张图片的方法
///
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;
    }
}

在.aspx文件中调用:Image1.ImageUrl = Img.getImgUrl(“字符串”, @”<IMG[^>]+src=\s*(?:’(?<src>[^']+)’|”"(?<src>[^""]+)”"|(?<src>[^>\s]+))\s*[^>]*>”, “src”)[0].ToString();,可以根据自己的需要些表达式,第三个参数src也可以传承alt或者title属性去获取相应的值。



相关评论