note 70359 added to function.parse-url
| From: | admin at hopstream dot com | 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