note 70359 added to function.parse-url

From: Date: Thu, 12 Oct 2006 20:54:27 +0000
Subject: note 70359 added to function.parse-url
Groups: php.notes 
Request: Send a blank email to php-notes+get-118474@lists.php.net to get a copy of this message
Some code to extract domain name from an email address (even if it has multiple sub-domains)... <?php $email = "asdf@sub.sub.sub.sub.sub.test.org"; list( $username, $domain ) = explode( "@", $email ); if ( substr_count( $domain, "." ) == 1 ) { $output = $domain; } else if ( substr_count( $domain, "." ) == 2 ) { if ( eregi( "^[A-Za-z0-9\-]+\.(co| biz| com| edu| gov| info| mil| net| org)\.(ac| ad| ae| af| ag| ai| al| am| an| ao| aq| ar| as| at| au| aw| ax| az| ba| bb| bd| be| bf| bg| bh| bi| bj| bm| bn| bo| br| bs| bt| bv| bw| by| bz| ca| cc| cd| cf| cg| ch| ci| ck| cl| cm| cn| co| cr| cu| cv| cx| cy| cz| de| dj| dk| dm| do| dz| ec| ee| eg| er| es| et| eu| fi| fj| fk| fm| fo| fr| ga| gb| gd| ge| gf| gg| gh| gi| gl| gm| gn| gp| gq| gr| gs| gt| gu| gw| gy| hk| hm| hn| hr| ht| hu| id| ie| il| im| in| io| iq| ir| is| it| je| jm| jo| jp| ke| kg| kh| ki| km| kn| kr| kw| ky| kz| la| lb| lc| li| lk| lr| ls| lt| lu| lv| ly| ma| mc| md| mg| mh| mk| ml| mm| mn| mo| mp| mq| mr| ms| mt| mu| mv| mw| mx| my| mz| na| nc| ne| nf| ng| ni| nl| no| np| nr| nu| nz| om| pa| pe| pf| pg| ph| pk| pl| pm| pn| pr| ps| pt| pw| py| qa| re| ro| ru| rw| sa| sb| sc| sd| se| sg| sh| si| sj| sk| sl| sm| sn| so| sr| st| su| sv| sy| sz| tc| td| tf| tg| th| tj| tk| tl| tm| tn| to| tp| tr| tt| tv| tw| tz| ua| ug| uk| um| us| uy| uz| va| vc| ve| vg| vi| vn| vu| wf| ws| ye| yt| yu| za| zm| zw)$", $domain ) ) { $output = $domain; } else { $domain = explode( ".", $domain ); $output = $domain[ count($domain)-2 ] . "." . $domain[ count($domain)-1 ]; } } else { if ( eregi( "^.*\.([A-Za-z0-9\-]+)\.(co| biz| com| edu| gov| info| mil| net| org)\.(ac| ad| ae| af| ag| ai| al| am| an| ao| aq| ar| as| at| au| aw| ax| az| ba| bb| bd| be| bf| bg| bh| bi| bj| bm| bn| bo| br| bs| bt| bv| bw| by| bz| ca| cc| cd| cf| cg| ch| ci| ck| cl| cm| cn| co| cr| cu| cv| cx| cy| cz| de| dj| dk| dm| do| dz| ec| ee| eg| er| es| et| eu| fi| fj| fk| fm| fo| fr| ga| gb| gd| ge| gf| gg| gh| gi| gl| gm| gn| gp| gq| gr| gs| gt| gu| gw| gy| hk| hm| hn| hr| ht| hu| id| ie| il| im| in| io| iq| ir| is| it| je| jm| jo| jp| ke| kg| kh| ki| km| kn| kr| kw| ky| kz| la| lb| lc| li| lk| lr| ls| lt| lu| lv| ly| ma| mc| md| mg| mh| mk| ml| mm| mn| mo| mp| mq| mr| ms| mt| mu| mv| mw| mx| my| mz| na| nc| ne| nf| ng| ni| nl| no| np| nr| nu| nz| om| pa| pe| pf| pg| ph| pk| pl| pm| pn| pr| ps| pt| pw| py| qa| re| ro| ru| rw| sa| sb| sc| sd| se| sg| sh| si| sj| sk| sl| sm| sn| so| sr| st| su| sv| sy| sz| tc| td| tf| tg| th| tj| tk| tl| tm| tn| to| tp| tr| tt| tv| tw| tz| ua| ug| uk| um| us| uy| uz| va| vc| ve| vg| vi| vn| vu| wf| ws| ye| yt| yu| za| zm| zw)$", $domain, $output ) ) { $domain = explode( ".", $domain ); $output = $domain[ count($domain)-3 ] . "." . $domain[ count($domain)-2 ] . "." . $domain[ count($domain)-1 ]; } else { $domain = explode( ".", $domain ); $output = $domain[ count($domain)-2 ] . "." . $domain[ count($domain)-1 ]; } } echo "<pre>"; print_r ($output); echo "</pre>"; ?> ---- Server IP: 64.71.164.2 Probable Submitter: 67.90.55.2 ---- Manual Page -- http://www.php.net/manual/en/function.parse-url.php Edit -- https://master.php.net/note/edit/70359 Del: integrated -- https://master.php.net/note/delete/70359/integrated Del: useless -- https://master.php.net/note/delete/70359/useless Del: bad code -- https://master.php.net/note/delete/70359/bad+code Del: spam -- https://master.php.net/note/delete/70359/spam Del: non-english -- https://master.php.net/note/delete/70359/non-english Del: in docs -- https://master.php.net/note/delete/70359/in+docs Del: other reasons-- https://master.php.net/note/delete/70359 Reject -- https://master.php.net/note/reject/70359 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#118474) next »