Obtener el nombre de dominio (no subdominio) en php
Tengo una URL que puede tener cualquiera de los siguientes formatos:
http://example.com
https://example.com
http://example.com/foo
http://example.com/foo/bar
www.example.com
example.com
foo.example.com
www.foo.example.com
foo.bar.example.com
http://foo.bar.example.com/foo/bar
example.net/foo/bar
Esencialmente, necesito poder hacer coincidir cualquier URL normal. Como puedo extraerexample.com
(o .net, cualquiera que sea el tld. Necesito esto para trabajar con cualquier TLD). ¿De todo esto a través de una única expresión regular?