RSS Aboneleri 13
Reklam Alanı Bize Reklam Verin

php

PHP ile Alan Adını Alma


Merhaba arkadaşlar,
URL’lerin sadece alan adlarını almak istediğiniz zamanlar olabilir. Fakat bazı durumlarda subdomain.domain.tld.tld yapısındaki URL’lerden domain kısmını çekmek zorlaşır.. Aslında zor değildir fakat o yapıyı bulmak zor olabilir Çünkü girilen URL’ler aşağıdaki formatlarda olabilir:

  • http://www.trkodlama.com
  • http://www.trkodlama.com.tr
  • http://trkodlama.com
  • http://trkodlama.com.tr
  • http://sub.trkodlama.com
  • http://sub.trkodlama.com.tr

Hal böyle olunca işin içinden çıkılmaz bir hal alır.. If else’ler havada uçuşur. Bunun için sizlerle basit ve kullanışlı bir fonksiyon paylaşıyorum:

function domain($url){
 $tld2 = array('wattle.id.au','emu.id.au','csiro.au','name.tr','conf.au','info.tr','info.au','gov.au','k12.tr','lel.br','ltd.uk','mat.br','jor.br','med.br','net.hk','net.eg','net.cn','net.br','net.au','mus.br','mil.tr','mil.br','net.lu','inf.br','fnd.br','fot.br','fst.br','g12.br','gb.com','gb.net','gen.tr','ggf.br','gob.mx','gov.br','gov.cn','gov.hk','gov.tr','idv.tw','imb.br','ind.br','far.br','net.mx','se.com','rec.br','qsl.br','psi.br','psc.br','pro.br','ppg.br','pol.tr','se.net','slg.br','vet.br','uk.net','uk.com','tur.br','trd.br','tmp.br','tel.tr','srv.br','plc.uk','org.uk','ntr.br','not.br','nom.br','no.com','net.uk','net.tw','net.tr','net.ru','odo.br','oop.br','org.tw','org.tr','org.ru','org.lu','org.hk','org.cn','org.br','org.au','web.tr','eun.eg','zlg.br','cng.br','com.eg','bio.br','agr.br','biz.tr','cnt.br','art.br','com.hk','adv.br','cim.br','com.mx','arq.br','com.ru','com.tr','bmd.br','com.tw','adm.br','ecn.br','edu.br','etc.br','eng.br','esp.br','com.au','com.br','ato.br','com.cn','eti.br','edu.au','bel.tr','edu.tr','asn.au','jl.cn','mo.cn','sh.cn','nm.cn','js.cn','jx.cn','am.br','sc.cn','sn.cn','me.uk','co.jp','ne.jp','sx.cn','ln.cn','co.uk','co.at','sd.cn','tj.cn','cq.cn','qh.cn','gs.cn','gr.jp','dr.tr','ac.jp','hb.cn','ac.cn','gd.cn','pp.ru','xj.cn','xz.cn','yn.cn','av.tr','fm.br','fj.cn','zj.cn','gx.cn','gz.cn','ha.cn','ah.cn','nx.cn','tv.br','tw.cn','bj.cn','id.au','or.at','hn.cn','ad.jp','hl.cn','hk.cn','ac.uk','hi.cn','he.cn','or.jp','name','info','aero','edu','org','int','biz','mil','net','com','ua','st','tw','sg','uk','au','za','yu','ws','at','us','vg','as','va','tv','pt','si','sk','ag','sm','ca','su','al','am','tc','th','tm','ro','tn','to','ru','se','sh','eu','dk','ie','il','de','cz','cy','cx','is','it','jp','ke','kr','la','hu','hm','hk','fi','fj','fo','fr','es','gb','eg','ge','ee','gl','ac','gr','gs','li','lk','cd','nl','no','cc','by','br','nu','nz','bg','be','ba','az','pk','ch','ck','cl','lt','lu','lv','ma','mc','md','mk','mn','ms','mt','mx','dz','cn','pl');
 $url_bolumleri = parse_url($url);
 $Domain = $url_bolumleri["host"];
 $sayac = 1;
 do {
$tmp_tld = substr($Domain, -strlen(".".$tld2[$sayac]));
if ($tmp_tld == ".".$tld2[$sayac]) {
$tld = ltrim($tld2[$sayac], ".");
$DomainL = substr($Domain, 0, -(strlen($tld) + 1));
if (strpos($DomainL, ".") === false) {
$subDomain = "";
$sonDomain = $DomainL;
} else {
$Domain_bolumleri = explode(".", $DomainL);
$sonDomain = array_pop($Domain_bolumleri);
} return $sonDomain;
  }
  $sayac++;
 } while ($sayac < count($tld2));
}

Kullanımı da oldukça basittir:

echo domain("http://subdomain.trkodlama.com.tr"); // Ekran çıktısı: trkodlama

Umarım faydalı olmuştur, kolay gelsin

Yazar Hakkında Oral ÜNAL

PHP ile küçük bir çocukken tanıştı ve hala tanışmaya devam ediyor. Osmangazi Üniversitesi öğrencisi. Bisiklet tutkunu.



Makaleyi beğendiniz mi?

Beğendiyseniz RSS Beslemelerimize abone olabilirsiniz veya bizi Twitter'da takip edebilirsiniz.

Yorum Yap