上码:
string[] imgtag = { ".gif",".jpg",".png",".jpeg" }; string tpllink = "<a target=\"_blank\" style=\"color:#e25252;text-decoration: underline;\" href='{0}'>{1}</a>"; Regex re = new Regex(@"((http|https)://)?(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[^<|^>]*)?"); MatchCollection matchCollection = re.Matches(txtmsg); HashSet<string> urlKeys = new HashSet<string>(); foreach (Match m in matchCollection) { if (imgtag.Any(x => m.Value.Contains(x))) { continue; } if (urlKeys.Add(m.Value)) { txtmsg = txtmsg.Replace(m.Value,String.Format(tpllink,m.Value.Contains("http://") ? m.Value : "http://" + m.Value,m.Value)); } }