Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyciąganie domeny z ciągu
Forum PHP.pl > Forum > Przedszkole
d0m1n1k_
Witam,
szukam rozwiązania które pozwala na wyciąganie samej domeny z adresu który otrzymuję.
Przykładowo mamy takie adresy:
  1. <a href="http://www.adres.pl" target="_blank">http://www.adres.pl</a>
  2. <a href="http://www.jakis_inny_adres.net.pl" target="_blank">http://www.jakis_inny_adres.net.pl</a>
  3. <a href="http://podstrona.adres.pl" target="_blank">http://podstrona.adres.pl</a>
  4. <a href="http://strasznie.wiele.podstron.com.pl" target="_blank">http://strasznie.wiele.podstron.com.pl</a>
  5. <a href="http://www.tojestkolejna.domena.waw.pl" target="_blank">http://www.tojestkolejna.domena.waw.pl</a>


A wyciągamy tylko:
  1. adres.pl
  2. jakis_inny_adres.net.pl
  3. adres.pl
  4. postron.pl
  5. domena.waw.pl


Manual php oferuje dużo, ale takie funkcji jeszcze nie widziałem.
Najbliżej byłem przy rozwiązaniu:
  1. gethostbyname($_GET['domain']), FILTER_VALIDATE_IP

próbowałem również zastosować poniższy kod, ale nadal nie dawał efektu:
  1. if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)){}


Bardzo będę wdzięczny za pomoc, za którą z góry dziękuję.
Pozdrawiam
Pyton_000
To najpierw zdecyduj się co chcesz wyciągać bo raz wyciągasz domenę, a raz subdomenę.
d0m1n1k_
Mowa o domena.waw.pl? Jeśli to subdomenta to przepraszam - mój błąd.
Chcę domenę bez subdomenami, dodatkami itd.
Pyton_000
Ah dobra mój błąd. Przepraszam.

Tu masz kod który sprawdza i zwraca domenę wraz z końcówką.
http://stackoverflow.com/a/6095829/3732803
viking
http://php.net/manual/pl/function.parse-url.php
Później możesz rozbić po kropce i jeśli przedostatni człon należy do jakiejś whitelisty zwróć 3 człony.
Inna sprawą jest czy rozumiesz że a.pl i www.a.pl mogą być zupełnie różnią strefą DNS, co za tym idzie nawet inne IP mogą mieć. Wtedy nijak się będzie miał ten skrypt do faktycznych danych.
Tomplus
Whitelist będziesz musiał stworzyć także dosyć bogatą, bo należy pamiętać że wiele jest domen na nazwach miejscowości.

domena.bedzin.pl
domena.katowice.pl
domena.gliwice.pl
Także zagranicą.

Więc może lepiej wyciągać cały adres domeny, a potem usuwać www. albo www2., m., wap. etc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.