string html = "<div class='item'><a href='1.html'><img src='2.jpg' /></a></div>";
比如我有一个html字符串,我想把所有href和src属性都加个绝对路径,比如加个http://www.csdn.net,那么结果就是:
<div class='item'><a href='http://www.csdn.net/1.html'><img src='http://www.csdn.net/2.jpg' /></a></div>
用C#怎么替换?谢谢
------解决思路----------------------
static void RegexReplaceHttp()
{
string html = "<div class='item'><a href='1.html'><img src='2.jpg' /></a><img src='http://www.baidu.com/test.jpg' /></div>";
html = Regex.Replace(html, @"(?<=\bhref=([""'])).*?(?=\1)
------解决思路----------------------
(?<=\bsrc=([""'])).*?(?=\2)", x =>
{
var v = x.Value;
if (!Regex.Match(x.Value, @"^https?://", RegexOptions.IgnoreCase).Success)
{
v = "http://www.csdn.net/" + v;
}
return v;
});
Console.WriteLine(html);
}
需要两个正则