对编辑器添加的图文进行分离
有的时候对于通过编辑器添加的内容需要进行图片和文字进行分离,然后进行别的操作。
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;
}
}