如果我有一个电子邮件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)
。