Abrufen der Domain von der URL

8

OK, bevor du sagst "Oh, komm schon! Das ist einfach", muss ich dir sagen, dass ich viele verschiedene Methoden für diese spezielle Sache getestet habe, für eine lange Zeit, und ich habe keine gefunden das wirklich funktioniert für jede URL und für jede Domain .

Beispiele:

  • Ссылка = this-is-a-url.com
  • www.this-is-another.url.com/some-folder = this-is-another-url.com
  • subdomain.somesub.domain.com/index.php = domain.com
  • diff.erentltd.in = erentltd.in
  • www.andanotherone.org.uk = andanotherone.org.uk

Also, irgendwelche Ideen? Kennen Sie irgendeine Arbeitsfunktion / Skript?

An alle Interessierten: Bitte sehen Sie sich die Antwort von @ bystwn22 an. Es ist eine der reibungslosesten Arbeitslösungen, die Sie finden könnten! : -)

    
Dr.Kameleon 17.07.2013, 10:33
quelle

3 Antworten

3

Okay, versuch das, ich weiß, dass die Frage wirklich schwierig ist: \

%Vor%

Funktion get_domain

%Vor%     
bystwn22 17.07.2013, 11:13
quelle
1

Ich habe an einer einfacheren Lösung gearbeitet. Aufgrund der Probleme mit parse_url

%Vor%     
DevZer0 17.07.2013 10:53
quelle
1

Nun, Sie brauchen tatsächlich zwei Listen: Second-Level-Domains und Top-Level-Domains.

  1. Holen Sie den Host von Ihrer URL mit preg_match oder parse_url , sagen wir, es wird subdomain.domain.org.uk

  2. Explodiere es durch Punkt und nimm die letzten beiden Elemente dieses Arrays, die wiederum durch einen Punkt verknüpft sind ( org.uk ). Wenn dies eine der Domänen der zweiten Ebene ist, fügen Sie das vorherige Element des Arrays hinzu, und Sie haben Ihre Domäne ( domain.org.uk ).

  3. Ansonsten ist Ihre Domain das, was Sie in Schritt 2 überprüft haben (wenn das letzte Element des Arrays eine der Top-Level-Domains ist, können Sie diese Prüfung überspringen, wenn Sie ziemlich sicher sind, dass die Domain gültig ist). Wenn Ihr ursprünglicher Host subdomain.domain.com war, haben Sie überprüft, dass domain.com nicht eine Second-Level-Domain ist domain.com ist das, was Sie gesucht haben.

Hier ist die Liste der Second-Level-Domains . Oder Sie können versuchen, einen besseren zu finden.

    
mr. Pavlikov 17.07.2013 10:56
quelle

Tags und Links