mm bueno .. redlor sé que las expresiones regulares no son muy "amigables" .. pero es lo que necesitas para este caso. Evalua bien que condiciones tienes .. no son muchas si te pones a pensarlo .. por ejemplo ante el "separador" o ese "ftp://" .. etc
De todas formas .. tienes funciones que te podrían ayudar como:
parse_url()
http://www.php.net/parse_url
(y afines)
Un saludo,