ASP.NET/C#获取文章中图片的地址

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

算法有两个,一是根据查找字符串中是否有<img
/>标签,如果有的话输出src=”"里面的地址;二是正则表达式,字符串中有满足正则的就输出src的值。前者经过实验效率不高并且程序总是出bug,后者简洁高效,是首选。

首先新建一个类:ImgHelper.cs,然后添加引用:using
System.Text.RegularExpressions;,然后添加下面的代码。

[csharp] view plaincopy

  1. class ImgHelper

  2. {

  3. /// <summary>

  4. /// 获取文章中图片地址的方法

  5. /// </summary>

  6. /// <param name="html">文章内容</param>

  7. /// <param name="regstr">正则表达式</param>

  8. /// <param name="keyname">关键属性名</param>

  9. /// <returns></returns>

  10. public static ArrayList getImgUrl(string html, string regstr, string keyname)

  11. {

  12. ArrayList resultStr = new ArrayList();

  13. Regex r = new Regex(regstr, RegexOptions.IgnoreCase);

  14. MatchCollection mc = r.Matches(html);
  15. foreach (Match m in mc)

  16. {

  17. resultStr.Add(m.Groups[keyname].Value.ToLower());

  18. }

  19. if (resultStr.Count > 0)

  20. {

  21. return resultStr;

  22. }

  23. else

  24. {

  25. //没有地址的时候返回空字符

  26. resultStr.Add("");

  27. return resultStr;

  28. }

  29. }
  30. }

在.aspx.cs文件中调用:

[csharp] view plaincopy

  1. Image1.ImageUrl =ImgHelper.getImgUrl("字符串",@"<IMG[^>]+src=\s*(?:‘(?<src>[^‘]+)‘|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", "src")[0].ToString();//这里是获取数组中第一个图片地址,当然也可以获取文章中其他图片,只需修改索引号。

时间: 2024-11-11 07:35:30

ASP.NET/C#获取文章中图片的地址的相关文章

获取文章中图片路径的正则表达式

String content = "<p><img src="http://xxx.com/image/635.png" alt="bg" style="max-width:100%;"><img src="http://ssss.com/image/d17c.jpg" alt="spe-03" style="max-width: 100%;"&g

dedecms获取文章中的图片代码

1.在 /include/common.func.php 文件底部加入以下代码 /** * getArcImages 获取文章中的图片 * $id 文章ID * $num 要获取的图片数量 默认为4张 */ function getArcImages($id,$num=4){ global $dsql; $row = $dsql->GetOne("SELECT * FROM dede_addonarticle WHERE aid= $id"); $content = $row['

也谈WordPress获取文章中首张图片

从第一次接触WordPress开始,在前台首页需要调用文章中的图片以实现在首页显示图片文章,就看到网络上流传甚广的一个函数: 1 function catch_that_image() { 2 global $post, $posts; 3 $first_img = ''; 4 ob_start(); 5 ob_end_clean(); 6 $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i'

asp.net 开发过程中关于image控件中图片点击后地址乱码的问题

前台页面是这样的: <%-- 图片展示20140705add --%>    <div id="imgShowDiv" style="left:550px; top:90px; height:430px; display:none;" class="msgboxStyle">        <h1 onmousedown="startDrag(this)" onmousemove="dr

php获取网页中图片与DIV内容实例

分享下php获取网页中图片.DIV内容的简单方法,都是通过正则表达式实现的. 1.获取网页中所有的图片: <?php //取得指定位址的內容,并储存至 $text $text=file_get_contents('http://www.jbxue.com/'); //取得所有img标签,并储存至二维数组 $match 中 preg_match_all('/<img[^>]*>/i', $text, $match); //打印出match print_r($match); ?>

利用POI获取Excel中图片和图片位置

利用POI获取Excel中图片和图片位置(支持excel2003or2007多sheet) 转自:http://blog.csdn.net/delongcpp/article/details/8833995 第三方JAR包(apache下载POI即可): poi-3.9-20121203.jar dom4j-1.6.1.jar poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203.jar poi-scratchpad-3.9-2012

使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)

上一篇使用Java正则表达式来判断和获取图片的链接以及跳转的网址,这篇使用selenium的自带的API(getAttribute)来获取网页中指定的内容 实现内容:获取下面所有图片的链接地址以及跳转地址,使用get请求判断是否有死链 页面内容如图: 页面的源码,需要获取页面的href后的地址,以及src后的地址,: 代码实现可以看出图片都在一个div中,实现的思想为:获取控件集合,在获取每一个li下的元素,在获取,在取出数据下的属性名的属性值 public void new_classific

BBS-添加文章及文章中图片

目录 BBS项目中的添加文章 BBS项目中的添加文章中的图片 BBS项目中的添加文章 1.添加文章的时候,我们需要特别注意的是这个地方需要利用到到BeautifulSoup这个模块,因为我们在input的框中输入的内容,到了后端我们需要通过BeautifulSoup模块进行转成后端可以使用的文档 from bs4 import BeautifulSoup # 添加文章 def add_article(request): tag_list = models.Tag.objects.filter(b

获取文章中的关键字

最近在做关于搜索方面的程序,查阅了许多资料,写下了下面的代码,已做后备 jar包下载地址:http://download.csdn.net/detail/zwdsmileface/8678353 import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import j