在页面的文本框输入新浪网。用正则验证翻译ubb标签后能正常显示“新浪网”,但是链接不对。
链接的地址是“http://localhost/www.sina.com.cn”。www.sina.com.cn解释的同样有问题,显示内容为“www.sina.com.cn”,但是地址同样为“http://localhost/www.sina.com.cn”。正则验证代码chr = Regex.Replace(chr, @"\[url=(?<x>[^\]]*)\](?<y>[^\]]*)\[/url\]", @"<a href=$1 target=_blank>$2</a>", RegexOptions.IgnoreCase);
        chr = Regex.Replace(chr, @"\[url\](?<x>[^\]]*)\[/url\]", @"<a href=$1 target=_blank>$1</a>", RegexOptions.IgnoreCase);请问这两段正则验证改怎么修改呢?

解决方案 »

  1.   

    晕,前面输入的内容给翻译了。第一个为【url=www.sina.com.cn】新浪网【、url】
      

  2.   

    www.sina.com.cn===>生成ubb代码时,http://要加上http://www.sina.com.cnhttp://不能少,要不默认加上你网站的主机头
      

  3.   

    我加上了http头:HREF=""http://$1"",可是如果别人输入的链接也有“http://”头,那么就会导致http头重复。我在正则验证的最后部分加上了“chr = chr.Replace("http://http://", "http://");”来替换多余的http头。
    请问还有更好的方式替换方式吗?
      

  4.   

    顶呀,难道正则验证中语句中直接把http://http://替换为http://就没有办法吗