Skip to content

Instantly share code, notes, and snippets.

@nazomikan
Created September 7, 2012 22:19
Show Gist options
  • Select an option

  • Save nazomikan/3670200 to your computer and use it in GitHub Desktop.

Select an option

Save nazomikan/3670200 to your computer and use it in GitHub Desktop.

Revisions

  1. @courtneycouch courtneycouch created this gist Feb 17, 2012.
    53 changes: 53 additions & 0 deletions gistfile1.aw
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,53 @@
    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;
    }