获取FCK中插入的图片的地址

#region 获取FCK中所有图片路径,并保存到FCKIMG表中 
        public void SaveFckImg(int TitleID,string Content)
        {
            string[] strUrl = GetHtmlImageUrlList(Content);
            for (int k = 0; k < strUrl.Length; k++)
            {
                string url = strUrl[k];
                FckImgManage fckImg = new FckImgManage();
                bool result = fckImg.SelectRepeat(TitleID,url); //查重
                if (Equals(result, false))
                {
                    fckImg.FckImgAdd(TitleID, url);
                }
            }
        }
        #endregion

#region 取得FCK内容中所有图片的 URL 
        /// <summary>
        /// 取得HTML中所有图片的 URL。
        /// </summary>
        /// <param name="sHtmlText">HTML代码</param>
        /// <returns>图片的URL列表</returns>
        public static string[] GetHtmlImageUrlList(string sHtmlText)
        {
            // 定义正则表达式用来匹配 img 标签
            Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);

            // 搜索匹配的字符串
            MatchCollection matches = regImg.Matches(sHtmlText);

            int i = 0;
            string[] sUrlList = new string[matches.Count];

            // 取得匹配项列表
            foreach (Match match in matches)
                sUrlList[i++] = match.Groups["imgUrl"].Value;

            return sUrlList;
        }
        #endregion

你可能感兴趣的:(java,html,正则表达式)