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