求一正则表达式:C#取出Html里图片地址

icanjj 2009-07-02 09:18:01

string ohtml = @" <img SRC=""http://zi.csdn.net/73560xly_2"" WIDTH=""500"" BORDER=""0""> </IMG> <img SRC=""http://zi.csdn.net/a.gif"" WIDTH=""500"" BORDER=""0""> </IMG>";

// string result = Regex.Replace(st, @"(?is)(?<=<img\b(?:(?!src=).)*src=(['""]?))[^'""\s]*/([^/.]+\.[a-z]+)(?=\1)", "http://www.mysite.com/up/$2");  //这个能正确替换有后缀的图片,但不能替换如http://zi.csdn.net/73560xly_2这样的图片


string result = Regex.Replace(ohtml.ToLower(), @"(?is)((?<=src=\""?)[^'""\s]*/)", "http://www.mysite.com/up/$2");
Response.Write(result);


代码如下,求正则表达式,要能把

<img SRC="http://zi.csdn.net/73560xly_2" WIDTH="500" BORDER="0"> </IMG> <img SRC="http://zi.csdn.net/asdafds" WIDTH="500" BORDER="0"> </IMG>

替换成
<img SRC="http://www.mysite.com/up/73560xly_2.jpg" WIDTH="500" BORDER="0"> </IMG> <img SRC="http://www.mysite.com/up/asdafds.jpg" WIDTH="500" BORDER="0"> </IMG>


注意,源代码当中,图片是没有后缀的,替换后要求加上.jpg以及把对方网址更改成自己网址,图片名称不变。
这一问从昨天白天搞到今天了,还没解决,求一可行正则,多谢了
...全文
130 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2009-07-02
  • 打赏
  • 举报
回复
try...

string result = Regex.Replace(yourStr, @"(?is)(?<=<img\b(?:(?!src=).)*src=(['""]?))[^'""\s]*/([^'""/.]+(\.[a-z]+)?)(?=\1)", delegate(Match m) { if (m.Groups[3].Value == "") return "http://www.mysite.com/up/" + m.Groups[2].Value + ".jpg"; return "http://www.mysite.com/up/" + m.Groups[2].Value ; });

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧