我需要从电子邮件地址获取域名 - 所以如果电子邮件地址是john@gmail.com,我需要抓住gmail部分。
我有以下代码可以运行并返回 gmail 以获取john@gmail.com电子邮件地址,但返回 co </ strong>以获取john@gmail.co.uk电子邮件地址
$user_register_email = "john@gmail.co.uk";
$domain = preg_replace( '!^.+?@(.+?)$!', '$1', $user_register_email );
$domain = explode('.', $domain);
$domain = array_reverse($domain);
$domain = "$domain[1]";
echo $domain;
任何人都可以告诉我如何修改上述代码,以便它也可以用于gmail.co.uk地址吗?
非常感谢,
约翰
答案 0 :(得分:1)
$user_register_email = "john@gmail.co.uk";
$domain = explode('@', $user_register_email);
$domain = explode('.', $domain[1]);
echo $domain[0];
你可以使用2次爆炸
答案 1 :(得分:0)
您可以通过这种方式隔离域部分(@之后的字符串)
$mystring = substr(user_register_email ,strpos($user_register_email , '@') +1, 255);
并执行爆炸
答案 2 :(得分:0)
explode
和reverse
函数不是必需的,preg_replace
本身就没问题:
$domain = preg_replace( '!^.+?([^@]+)$!', '$1', $user_register_email );
<强>输出:强>
gmail.co.uk