Here is a script I made for someone on this forum. It may be useful to you.

Code:
alias re.link return (?:\w+\:\/\/)?[\w\.]+\.(?:com|net|org|biz|us|ca|uk|\d\d?\d?)(?:\S*)
alias re.mail return [\w.]+\@[\w.]+

alias makelinks {
  var %s = $1-
  %s = $regsubex(%s,/( $+ $re.mail $+ )/gi,04\1)
  %s = $regsubex(%s,/(?<=\s)( $+ $re.link $+ )(?=\s)/gi,12\1)
  return %s
}

on ^*:HOTLINK:*:*:{
  var %halt = 1
  if ($regex($1,/ $+ $re.mail $+ /i)) %halt = 0
  elseif ($regex($1,/ $+ $re.link $+ /i)) %halt = 0
  if (%halt) halt
}

on *:HOTLINK:*:*:{
  if ($regex($1,/ $+ $re.mail $+ /i)) run mailto: $+ $1
  elseif ($regex($1,/ $+ $re.link $+ /i)) run $1
}



Usage: $makelinks(<text>)

It underlines anything that is a proper url (begins with xxx://).

It is more specific than you may want. It only matches the top level domains that are specified (you can change them). If you, or someone so chooses, they could make an alias that returns every TLD separated by |'s and use that instead.

I just pulled it out of my scripts folder, so it may not do exactly what you want.

-genius_at_work