首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

正则表达式提取及替换html内容中的图片路径解决方法

2011-12-28 
正则表达式提取及替换html内容中的图片路径现在在用一个winform中的html编辑器,当插入多张图片并储存到数

正则表达式提取及替换html内容中的图片路径
现在在用一个winform中的html编辑器,当插入多张图片并储存到数据库后,因图片路径问题导致其它客户端打不开图片,我想在用户储存时先把图片上传到局域网文件服务器,然后再把html中的图片路径用上传后的路径替换,由于对正则表达式不甚了解,所以想求各位大侠们帮把手,谢谢了!
例如在html内容中有:<IMG title="a" alt="a" src="http://a0.att.hudong.com/35/40/0130000025s.jpg" >
<IMG title="a" alt="a" src="http://a0.att.hudong.com/35/40/0130000026s.jpg" >
<IMG title="a" alt="a" src="="G:\图片\001.jpg" >

查找并替换为:
<IMG title="a" alt="a" src="file://\\Server\public\soft\0130000025s.jpg" >
<IMG title="a" alt="a" src="file://\\Server\public\soft\0130000026s.jpg" >
<IMG title="a" alt="a" src="file://\\Server\public\soft\001.jpg" >

当然也许还有更多图片插入

[解决办法]

C# code
void Main(){    string html = @"<IMG title=""a"" alt=""a"" src=""http://a0.att.hudong.com/35/40/0130000025s.jpg"" ><IMG title=""a"" alt=""a"" src=""http://a0.att.hudong.com/35/40/0130000026s.jpg"" ><IMG title=""a"" alt=""a"" src=""G:\图片\001.jpg"" >";string path=@"file://\\Server\public\soft\";Regex reg=new Regex(@"(?i)(<img[^>]*?src=(['""\s]?))((http://)?.*)[/\\]([^\.\\]+\.[^'""]+)\2([^>]*?>)");html=reg.Replace(html,@"$1"+path+"$5$2$6");Console.WriteLine(html);}/*<IMG title="a" alt="a" src="file://\\Server\public\soft\0130000025s.jpg" ><IMG title="a" alt="a" src="file://\\Server\public\soft\0130000026s.jpg" ><IMG title="a" alt="a" src="file://\\Server\public\soft\001.jpg" >*/ 

热点排行