Sprawdzanie poprawności URL PHP

Wiem, że istnieje nieskończona liczba wątków zadających to pytanie, ale nie byłem w stanie znaleźć takiego, który mógłby mi w tym pomóc.

W zasadzie próbuję przeanalizować listę około 10 000 000 adresów URL, upewnij się, że są one poprawne według następujących kryteriów, a następnie uzyskaj adres URL domeny głównej. Ta lista zawiera prawie wszystko, co możesz sobie wyobrazić, w tym takie rzeczy (i oczekiwany sformatowany adres URL):

<code>biy.ly/test [VALID] [return - bit.ly]
example.com/apples?test=1&id=4 [VALID] [return - example.com]
host101.wow404.apples.test.com/cert/blah [VALID] [return - test.com]
101.121.44.xxx [**inVALID**] [return false]
localhost/noway [**inVALID**] [return false]
www.awesome.com [VALID] [return - awesome.com]
i am so awesome [**inVALID**] [return false]
http://404.mynewsite.com/visits/page/view/1/ [VALID] [return - mynewsite.com]
www1.151.com/searchresults [VALID] [return - 151.com]
</code>

Czy ktoś ma jakieś sugestie na ten temat?

questionAnswers(4)

yourAnswerToTheQuestion