62,075
社区成员
发帖
与我相关
我的任务
分享
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>
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 ; });