Ależ sprawdzi się explode... Wystarczy sprawdzić
ostatni element tablicy. Nikt nie mówił, że to zawsze ma być drugi

Dla pewności jedynie warto sprawdzić ile elementów ma tablica. Musi mieć minimum dwa. Poza tym trzeba zwrócić uwagę, że za portem może być query string to raz, a dwa, że trzeba uważać jeśli adres jest choćby w formie połączenia ftp, bo nawet wyrażenie regularne musi wtedy uwzględnić potencjalny login i hasło, a tam też jest ":".
Najlepiej użyj parse_url ( string $url , PHP_URL_PORT ) i miej to z głowy

Po co pisać coś, co już w PHP zrobiono za Ciebie.