preg_match('/(.*?)((?:.co)?.[a-z]{2,4})$/i', $domain, $matches);
$matches[1] will have the domain and $matches[2] will have the extension
<?php
$domains = array("google.com", "google.in", "google.co.in", "google.info", "analytics.google.com");
foreach($domains as $domain){
preg_match('/(.*?)((?:.co)?.[a-z]{2,4})$/i', $domain, $matches);
print_r($matches);
}
?>
Will produce the output
Array
(
[0] => google.com
[1] => google
[2] => .com
)
Array
(
[0] => google.in
[1] => google
[2] => .in
)
Array
(
[0] => google.co.in
[1] => google
[2] => .co.in
)
Array
(
[0] => google.info
[1] => google
[2] => .info
)
Array
(
[0] => analytics.google.com
[1] => analytics.google
[2] => .com
)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…