ASP.NET获得文章中第一张图片的地址[网站编程]
本文“ASP.NET获得文章中第一张图片的地址[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
近来各位同学走技术流的趋向很明显啊,搞得我心痒加手痒,怎奈这几天对比忙.本日本来想写一个关于DotNetNuke的文章,不过刚开了个头,windows7自动更新了一个补钉招致我本机两个DotNetNuke网站全部卸载,招致我没法截图,无图无本相,无本相的文章都是扯淡的.
前几天改正一个网站的筹划的时刻需求把简单的新闻列表改正成图文结合+新闻列表,不过这新闻的数据库非常简单,图片是在编辑器里面和HTML一同存入数据库中的content字段的,所以工作简化到从一个字符串里面获得图片的地址并输出.在HTML的图片标签普通以下格局所示:<img src=”" alt=”" title=”" width=”" height=”" />,这就相当于编程中的一个构造体啊,里面的一个个属性就是切入点,不过.NET中还没有函数去完成这个操作,自己按照别人的思绪写个类吧.
算法有两个,一是按照查找字符串中能否有<img />标签,假若有的话输出src=”"里面的地址;二是正则表达式,字符串中有满意正则的就输出src的值.前者经过实行效率不高并且程序老是出bug,后者简便高效,是首选.
首先新建一个类: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属性去获得呼应的值.
以上是“ASP.NET获得文章中第一张图片的地址[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |