Index: whois.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/whois/whois.module,v
retrieving revision 1.11
diff -u -r1.11 whois.module
--- whois.module	4 Dec 2009 11:08:40 -0000	1.11
+++ whois.module	4 Dec 2009 11:17:19 -0000
@@ -200,9 +200,13 @@
     return $url;
   }
   else {
+    $multi_level_tlds = 'co.uk|org.uk|com.au';
     $r  = "^(?:(?P<scheme>\w+)://)?";             // e.g. http://
     $r .= "(?:(?P<login>\w+):(?P<pass>\w+)@)?";   // e.g. username:password@
-    $r .= "(?P<host>(?:(?P<subdomain>[\w\.]+)\.)?" . "(?P<domain>\w+\.(?P<extension>\w+)))";  // e.g. www and example.com
+
+    // The interresting part, e.g. www and example.com
+    $r .= "(?P<host>(?:(?P<subdomain>[\w\.]+?)\.)?" . "(?P<domain>\w+\.(?P<extension>(?:$multi_level_tlds|\w+))))";  
+
     $r .= "(?::(?P<port>\d+))?";                  // e.g. :80
     $r .= "(?P<path>[\w/]*/(?P<file>\w+(?:\.\w+)?)?)?";   // e.g. /foo/bar/baz.html
     $r .= "(?:\?(?P<arg>[\w=&]+))?";              // e.g. ?foo=1&bar=2
