对编辑器添加的图文进行分离

有的时候对于通过编辑器添加的内容需要进行图片和文字进行分离,然后进行别的操作。

                string str = ds.Tables[0].Rows[0]["AContent"].ToString();//内容
                ArrayList list = new ArrayList();
                list = getImgUrl(str, @"<IMG[^>]+src=\s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>\s]+))\s*[^>]*>", "src");
                图片地址:spic = list[0].ToString();
                if (spic == "")
                {
                    spic = "img/1.jpg";//默认图片
                }
               文字和样式: sc = Regex.Replace(str, @"\<(img)[^>]*>|<\/(img)>", "", RegexOptions.IgnoreCase);
       public 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;
            }
        }
posted @ 2012-12-25 17:39  acmzs  阅读(174)  评论(0编辑  收藏  举报