论坛中如果有人发的帖子中有如下的文本:http://www.bizsofts.com ,我想把这段文本替换为:<a href="http://www.bizsofts.com" target="_blank">http://www.bizsofts.com</a>,也就是给文本加上超链接,一点击就可以打开链接,而不用把文本拷贝到IE的地址栏再打开,应该怎么做?就好像在Outlook中把http://开头的文本自动加上下划线一样,可以点击直接链接到相应的地址。

解决方案 »

  1.   

    匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
      

  2.   

    我是在一个函数中写的,但实现不了,是哪里错了:public string ProcessLink(object Content)
    {
        string strContent = Content.ToString();
        Regex my= new Regex(@"(\[URL\])(http:\/\/.[^\[]*)(\[\/URL\])",RegexOptions.IgnoreCase);
        strContent=my.Replace(strContent,@"<A HREF=""$2"" TARGET=_blank>$2</A>");    string newContent = strContent;
        return newContent;
    }
      

  3.   

    Regex regex = new Regex(
    @"(http:\/\/([\w.]+\/?)\S*)",
    RegexOptions.IgnoreCase
    | RegexOptions.CultureInvariant
    | RegexOptions.IgnorePatternWhitespace
    | RegexOptions.Compiled
    );
    string content = "http://www.bizsofts.com http://www.bizsofts1.com http://www.bizsofts2.com/abc";
    content = regex.Replace(content, "<a href=\"$1\" target=\"_blank\">$1</a>");
    Console.WriteLine(content);输出结果:
    <a href="http://www.bizsofts.com" target="_blank">http://www.bizsofts.com</a> <a
     href="http://www.bizsofts1.com" target="_blank">http://www.bizsofts1.com</a> <a
     href="http://www.bizsofts2.com/abc" target="_blank">http://www.bizsofts2.com/ab
    c</a>
      

  4.   

    fancyf(凡瑞) 是正解,真是高手,100全给你。