Mam dość poważny problem z którym nie mogę sobie poradzić a muszę

Otóż potrzebuję wyciągną z tekstu pełny adres www.
Ktoś wchodzi na stronę i pisze np. "www.google.com < szukanie nie boli".
Ktoś inny wchodzi i pisze np. "www.google.com.pl < polecam szukajkę"
A jeszcze ktoś inny pisze np. "JeStEm DzIeCkIeM NeO i NiE bEnDeM SzUk@Ć n@ w W w. G o O g L e. P l, Bo Nie LubIEm"
I teraz w czym problem. Żeby sprawdzić, czy powyższe ciągi zawierają adres muszę (żeby działało w 3 przypadku) usunąć wszystkie spacje.
W efekcie mam:
1. www.google.com<szukanienieboli
2. www.google.com.pl<polecamszukajkę
3. JeStEmDzIeCkIeMNeOiNiEbEnDeMSzUk@Ćn@wWw.GoOgLe.Pl,BoNieLubIEm
i teraz za pomocą strstr() w banalny sposób sprawdzę czy powyższe ciągi zawierają com, pl lub qa.
Jeśli zawierają to chciałbym wyświetlić pełny adres jaki został podany.
W pierwszym przypadku i ostatnim wystarczy w jakiś sposób (pewnie się da, nie googlowałem jeszcze)
wyciągnąć wszystko pomiędzy www i com lub pl. Ale co z 2 przypadkiem, gdzie po com może być milion innych domen (bo krajów jest mnóstwo)?
Potrzebuję jeden skrypt do wszystkich przypadków, więc muszę wyciągnąć wszytko od www do com lub pl ale muszę też sprawdzić, czy po
com, net, org itp jest jeszcze coś co nalezy do adresu (ale sprawdzanie czy jest po tym kropka i 2 znaki ze względu na usunięcie spacji nie wchodzi w grę).
Czy ktoś ma jakiś pomysł jak to wykonać?
Jest mi to potrzebne i bez tego nie mogę się obyć :/
Pozdrawiam
