C#用正则表达式获取文章内容的图片
如题,假如我有一个表,字段:id,title,body,body字段是放文章的内容,内容里面有文字和上传图片后的路径,我现在想通过正则表达式的方法把里面的图片路径获取出来...
如题,假如我有一个表,字段:id,title,body,body字段是放文章的内容,内容里面有文字和上传图片后的路径,我现在想通过正则表达式的方法把里面的图片路径获取出来并显示图片,请问一下index.aspx和index.aspx.cs页该怎么写呢???
麻烦各位帮帮忙,我是菜鸟,刚刚接触.net!!! 展开
麻烦各位帮帮忙,我是菜鸟,刚刚接触.net!!! 展开
3个回答
展开全部
ArrayList alist = new ArrayList();
alist = cs.getmodelList(result, "<div class=\"frame-inner\">(.+?)<img src=\"(.+?)\" (.+?)>(.+?)</div>", 2);
public ArrayList getmodelList(String fStr, String rStr, int Group)
{//<!-- start -->(.+?)<!-- finish -->
try
{
ArrayList al = new ArrayList();
MatchCollection Mc = chkstrs(fStr, rStr);
foreach (Match m in Mc)
{
al.Add(tostr(m.Groups[Group]));
}
return al;
}
catch (Exception e)
{
return new ArrayList();
}
}
public MatchCollection chkstrs(String inStr, String RegStr)
{
try
{
Regex r = new Regex(RegStr, RegexOptions.IgnoreCase | RegexOptions.Singleline);
return r.Matches(inStr);
}
catch (Exception e)
{
return null;
}
}
alist = cs.getmodelList(result, "<div class=\"frame-inner\">(.+?)<img src=\"(.+?)\" (.+?)>(.+?)</div>", 2);
public ArrayList getmodelList(String fStr, String rStr, int Group)
{//<!-- start -->(.+?)<!-- finish -->
try
{
ArrayList al = new ArrayList();
MatchCollection Mc = chkstrs(fStr, rStr);
foreach (Match m in Mc)
{
al.Add(tostr(m.Groups[Group]));
}
return al;
}
catch (Exception e)
{
return new ArrayList();
}
}
public MatchCollection chkstrs(String inStr, String RegStr)
{
try
{
Regex r = new Regex(RegStr, RegexOptions.IgnoreCase | RegexOptions.Singleline);
return r.Matches(inStr);
}
catch (Exception e)
{
return null;
}
}
追问
不好意思,还是看不太明白啊
展开全部
亲,首先你要知道,你在写入数据库的时候,内容中的图片标记,都有哪些属性,然后用正确的正则表达式,就可以匹配出来了, 例如,最基本的 <img src="图片地址" /> 这是一个标准的图片标记吧? 用正式就是: "^<img\ssrc=".+"[\s]/>$" 就可以匹配出来咯~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用 GetImgUrl(“<html>...</html>”)
// <summary>
/// 正则图片路径
/// </summary>
/// <returns></returns>
public static StringBuilder GetImgUrl(string text)
{
StringBuilder str = new StringBuilder();
string pat = @"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>"; Regex r = new Regex(pat, RegexOptions.Compiled); Match m = r.Match(text.ToLower());
//int matchCount = 0;
while (m.Success)
{
Group g = m.Groups[2];
str.Append(g).Append(",");
m = m.NextMatch();
}
return str.Replace("\"", "");
}
// <summary>
/// 正则图片路径
/// </summary>
/// <returns></returns>
public static StringBuilder GetImgUrl(string text)
{
StringBuilder str = new StringBuilder();
string pat = @"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>"; Regex r = new Regex(pat, RegexOptions.Compiled); Match m = r.Match(text.ToLower());
//int matchCount = 0;
while (m.Success)
{
Group g = m.Groups[2];
str.Append(g).Append(",");
m = m.NextMatch();
}
return str.Replace("\"", "");
}
追问
请问一下GetImgUrl怎么调用呢,比如我的内容在body字段里面,怎么读取呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询