Skip to content

Instantly share code, notes, and snippets.

@nazomikan
Created September 7, 2012 22:19
Show Gist options
  • Save nazomikan/3670200 to your computer and use it in GitHub Desktop.
Save nazomikan/3670200 to your computer and use it in GitHub Desktop.
Strip subdomain
public static function stripSubdomain($domainb) {
$tlds = array('.com','.net','.org','.biz','.ws','.in','.me','.co','.co.uk','.org.uk','.ltd.uk',
'.plc.uk','.me.uk','.edu','.mil','.br.com','.cn.com','.eu.com','.hu.com','.no.com','.qc.com',
'.sa.com','.se.com','.se.net','.us.com','.uy.com','.ac','.co.ac','.gv.ac','.or.ac','.ac.ac',
'.af','.am','.as','.at','.ac.at','.co.at','.gv.at','.or.at','.asn.au','.com.au','.edu.au',
'.org.au','.net.au','.id.au','.be','.ac.be','.br','.adm.br','.adv.br','.am.br','.arq.br',
'.art.br','.bio.br','.cng.br','.cnt.br','.com.br','.ecn.br','.eng.br','.esp.br','.etc.br',
'.eti.br','.fm.br','.fot.br','.fst.br','.g12.br','.gov.br','.ind.br','.inf.br','.jor.br',
'.lel.br','.med.br','.mil.br','.net.br','.nom.br','.ntr.br','.odo.br','.org.br','.ppg.br',
'.pro.br','.psc.br','.psi.br','.rec.br','.slg.br','.tmp.br','.tur.br','.tv.br','.vet.br',
'.zlg.br','.ca','.ab.ca','.bc.ca','.mb.ca','.nb.ca','.nf.ca','.ns.ca','.nt.ca','.on.ca',
'.pe.ca','.qc.ca','.sk.ca','.yk.ca','.cc','.cn','.ac.cn','.com.cn','.edu.cn','.gov.cn',
'.org.cn','.bj.cn','.sh.cn','.tj.cn','.cq.cn','.he.cn','.nm.cn','.ln.cn','.jl.cn','.hl.cn',
'.js.cn','.zj.cn','.ah.cn','.gd.cn','.gx.cn','.hi.cn','.sc.cn','.gz.cn','.yn.cn','.xz.cn',
'.sn.cn','.gs.cn','.qh.cn','.nx.cn','.xj.cn','.tw.cn','.hk.cn','.mo.cn','.cx','.cz','.de',
'.dk','.fo','.com.ec','.fr','.tm.fr','.com.fr','.asso.fr','.presse.fr','.gf','.gs','.co.il',
'.net.il','.ac.il','.k12.il','.gov.il','.muni.il','.ac.in','.co.in','.org.in','.ernet.in',
'.gov.in','.net.in','.res.in','.is','.it','.ac.jp','.co.jp','.go.jp','.or.jp','.ne.jp',
'.ac.kr','.co.kr','.go.kr','.ne.kr','.nm.kr','.or.kr','.li','.lt','.lu','.asso.mc','.tm.mc',
'.com.mm','.org.mm','.net.mm','.edu.mm','.gov.mm','.ms','.nl','.no','.nu','.pl','.ro',
'.org.ro','.store.ro','.tm.ro','.firm.ro','.www.ro','.arts.ro','.rec.ro','.info.ro','.nom.ro',
'.nt.ro','.se','.si','.com.sg','.org.sg','.net.sg','.gov.sg','.sk','.st','.tf','.ac.th',
'.co.th','.go.th','.mi.th','.net.th','.or.th','.tm','.to','.com.tr','.edu.tr','.gov.tr',
'.k12.tr','.net.tr','.org.tr','.com.tw','.org.tw','.net.tw','.ac.uk','.uk.com','.uk.net',
'.gb.com','.gb.net','.vg','.sh','.kz','.ch','.info','.ua','.gov','.name','.pro','.ie','.hk',
'.com.hk','.org.hk','.net.hk','.edu.hk','.us','.tk','.cd','.by','.ad','.lv','.eu.lv','.bz',
'.es','.jp','.cl','.ag','.mobi','.eu','.co.nz','.org.nz','.net.nz','.maori.nz','.iwi.nz','.io',
'.la','.md','.sc','.sg','.vc','.tw','.travel','.my','.se','.tv','.pt','.com.pt','.edu.pt',
'.asia','.fi','.com.ve','.net.ve','.fi','.org.ve','.web.ve','.info.ve','.co.ve','.tel','.im',
'.gr','.ru','.net.ru','.org.ru','.hr','.com.hr');
$bits = explode('/', $domainb);
if ($bits[0]=='http:' || $bits[0]=='https:'){
$domainb= $bits[2];
} else {
$domainb= $bits[0];
}
unset($bits);
$bits = explode('.', $domainb);
$sResult = array_search('.'.$bits[count($bits)-1], $tlds);
if (is_null($sResult)) {
$sResult = false;
} elseif (!$sResult) {
$sResult = true;
}
if ($sResult) {
$url = $bits[count($bits)-2].'.'.$bits[count($bits)-1];
} elseif (array_search('.'.$bits[count($bits)-2].'.'.$bits[count($bits)-1], $tlds)) {
$url = $bits[count($bits)-3].'.'.$bits[count($bits)-2].'.'.$bits[count($bits)-1];
}
return $url;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment