专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

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

发布时间:2011-06-23 16:03:31 文章来源:www.iduyao.cn 采编人员:星星草
正则表达式提取及替换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" >
*/
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: