如何在电子邮件中获取@和.com之间的内容?



如果我有一个电子邮件myemail@gmail.com,如何存储在变量$name只有什么之间@和。com?对于myemail@gmail.com在变量$name将是'gmail',对于myemail@yahoo.com,在变量$name将是'雅虎'。编辑:也许选择@和之间的一切会更好。我在这里发布问题之前搜索了答案,但我找不到答案。

您可以使用正则表达式,或者您可以使用更简单的方法来理解

$email = 'somebody@gmail.com';
$parts = explode( '@', $email );
// simple method
$domainArr = explode( '.', $parts[1] );
echo $domainArr[ (count($domainArr)-2) ];  // this line was edited

这将获得@和第一个。whatever之间的所有内容:

preg_match('/@(.+).[a-z]+$/', 'nicholas@gmail.mail.com', $matches);
$name = $matches[1]; // gmail.mail

您只想删除域中的.com吗?

如果是,您可以str_replace(".com", "", $domain)split("@", $domain)

在其他地方,您需要阅读正则表达式

最新更新