从电子邮件地址获取扩展程序

时间:2016-05-30 07:30:56

标签: php email

我有一个电子邮件列表,我想找到一个简单的PHP代码或正则表达式来隔离扩展名,这样我就可以了解成员的来源。 例如,如果他的电子邮件是name@compagny.fr,我想隔离“.fr” 有一个简单的方法吗? 谢谢

3 个答案:

答案 0 :(得分:2)

假设电子邮件存储在名为$email的变量中,您可以先使用strrev撤消电子邮件。

$reverse = strrev($email)

然后,您可以使用explode获取一个始终在索引0上保存国家/地区代码的数组:

$contents = explode('.', $reverse);

你显然需要撤消字符串,因为国家/地区代码,例如' .fr'将被存储为' .rf'

$countryCode = strrev($contents[0]);

请注意,如果您完全确定没有'那么您就不需要撤消任何事情。'电子邮件地址中的符号,而不是扩展名之前的符号。在这种情况下,您可以爆炸字符串并获取最后一个值

答案 1 :(得分:2)

Echo strrev(Explode(".", Strrev($email))[0]);

Strrev向后翻转,所以爆炸在最后一个点上爆炸 虽未经过测试

编辑:既然我和dimlucas都有相同的想法,我会添加另一个解决方案:

Echo preg_match("/\.(\w+)$/", $email)[1];

答案 2 :(得分:1)

最优雅的方式是错过使用pathinfo。

$email = 'test@domain.co.uk';

$extention = pathinfo($email, PATHINFO_EXTENSION);

gives back 'uk'