Mam drobny problem który chciałem przedyskutować.

Jak poprawnie w PHP wykonać walidację podanego url, czy url/domena istnieje i czy jest poprawna?

Przykład:
Do inputa wpada string, muszę go zwalidować i sprawdzić czy to domena czy istnieje, sprawdzić czy https czy http czy z www/bez www i dopiero wypluć prawidłowy url.
Do tego istnieje możliwość że string/domena może kierować do katalogu.

User podaje do inputa string w różnych formach:
- domena.pl
- www.domena.pl
- hxxp://domena.pl
- hxxps://domena.pl
- hxxp://www.domena.pl
- hxxps://www.domena.pl
- domena.pl/katalog
- www.domena.pl/katalog
- hxxp://domena.pl/katalog
- hxxps://domena.pl/katalog
- hxxp://www.domena.pl/katalog
- hxxps://www.domena.pl/katalog
(zamiast http wstawione hxxp aby nie linkowało z automatu)

Używałem do tego curl'a i rozpoznawałem kod który zwracał, ale nie działa mi to poprawnie. Jakieś pomysły sugestie? Bo mnie się kończą już