现在的位置: 首页 > 综合 > 正文

.net提取内容中的图片地址

2014年03月18日 ⁄ 综合 ⁄ 共 909字 ⁄ 字号 评论关闭

目前在做项目中有一个曝光台栏目 ,发布信息时是没有单独的图片字段的,只有一个编辑器来保存内容,但是前台显示风格是图片排列的,为了达到效果,只能从内容中提取图片来显示到前台。参考了一下网上案例,自己写了一个获取内容中的第一张图片地址 的方法。

  /// <summary>
        /// 获取内容中的第一张图片
        /// </summary>
        /// <param name="htmlText">内容字符串</param>
        /// <returns>返回图片路径</returns>
        public string GetFirstImages(string htmlText)
        {
            string imgsrc = "";//这里可以设置一个默认图片,就是在内容中没有图片的时候来显示默认图片。
            int startIndex = htmlText.IndexOf("<img");//有图片标签则返回当前索引值,没有则返回-1
            if (startIndex >= 0)
            {
                int endIndex = htmlText.IndexOf(">", startIndex);//从上次获取的图片索引值开始查找,到第一个 >  符号结束为止。
                string imgLabel = htmlText.Substring(startIndex, endIndex - startIndex + 1);//获取到img标签
                string[] imgAttr = imgLabel.Split(' ');// "将图片属性根据空格分开"
                foreach (string item in imgAttr)//遍历属性
                {
                    if (item.IndexOf("src") >= 0)//如果有src属性,把值 保存起来  保存的是完整的src属性  :src=""
                    {
                        imgsrc = item.ToString();
                        break;
                    }

                }
                return imgsrc = imgsrc.Substring(imgsrc.IndexOf('"') + 1, imgsrc.LastIndexOf('"') - imgsrc.IndexOf('"') - 1);//把保存的src属性中的值取出来 去掉src="和最后一个"
            }

            return imgsrc;

        }

建立 了一个类,写了一个公用方法。需要用的时候来调用 就行了。

欢迎加群交流.Net技术交流

抱歉!评论已关闭.