自动识别URL的表达式怎么写的呢?如我在这表帖的时候有URL地址,怎么自动识别出来给加上链接。如 www.csdn.net , http://www.csdn.net 这二种有http://与没有的。都自动识别出来加上链接。转后变成<a href="http://www.csdn.net" target=_blank>http://www.csdn.net</a>

解决方案 »

  1.   

    匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 用这个判断
      

  2.   

    下面内容网上抄来的
    ----------引用空间:
    using System.Text.RegularExpressions;方法:
    public  static string Auto(string str)
      //========================//
      //     www.
      //     http://
      //     ftp://
      //     [email protected]
      //     mms://
      //========================//
      {
       Regex Reg;
       Reg = new Regex("([^\\]=>])(http://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"$1<a href=\"$2\" target=\"_blank\">$2</a>");
       Reg = new Regex("^(http://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("(http://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("([^\\]=>])(ftp://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"$1<a href=\"$2\" target=\"_blank\">$2</a>");
       Reg = new Regex("^(ftp://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("(ftp://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("([^\\]=>])(mms://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"$1<a href=\"$2\" target=\"_blank\">$2</a>");
       Reg = new Regex("^(mms://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>"); 
       Reg = new Regex("(mms://[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$");
       str = Reg.Replace(str,"<a href=\"$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("([a-z0-9_A-Z\\-\\.]{1,20})@([a-z0-9_\\-]{1,15})\\.([a-z]{2,4})"); 
       str = Reg.Replace(str,"<a href=\"mailt$1@$2.$3\" target=\"_blank\">$1@$2.$3</a>");
       Reg = new Regex("([^/])(www.[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"$1<a href=\"http://$2\" target=\"_blank\">$2</a>");
       Reg = new Regex("^(www.[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)");
       str = Reg.Replace(str,"<a href=\"http://$1\" target=\"_blank\">$1</a>");
       Reg = new Regex("(www.[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$");
       str = Reg.Replace(str,"<a href=\"http://$1\" target=\"_blank\">$1</a>");
       return str;
      }