使用php区分两封电子邮件

时间:2017-04-24 06:07:51

标签: php

某人12345678@something.in
someone.12345@something.in

第一个电子邮件ID在@符号前包含 8位第二个电子邮件ID包含 5位在@符号之前。

第一个电子邮件ID属于A组,第二个电子邮件ID属于B组。

我们如何使用PHP代码区分提交的电子邮件ID所属的组?

编辑:如果@之前的位数是8,则电子邮件ID属于A类人员,如果是5,则该电子邮件属于B类人员。

3 个答案:

答案 0 :(得分:3)

您可以使用strtok()获取第一部分,然后在.之后解析数字,最后检查长度。

$firstPart = strtok($email, '@');
$digits = substr($firstPart , strpos($firstPart, ".") + 1);
$len = strlen($digits);

if($len == 8){
    // group A
} else if($len == 5){
    // group B
}

请务必先验证电子邮件地址,以确保没有多个@符号或其他错误。

答案 1 :(得分:0)

您可以在爆炸的帮助下将电子邮件ID拆分为@,并可以检查索引0处的值长度,如果长度为8(或者您可以检查),那么它是第1组和等等。

答案 2 :(得分:0)

您希望根据群组区分电子邮件。根据您的问题,1234567812345是群组。

你能做的就是爆炸两次电子邮件。一次使用@,第二次使用.。让我告诉你如何做到这一点。

$email_exploded = explode('@',$email)    // this will give you ['someone.12345','something.in']

现在,您可以使用$email_exploded进一步展开.数组的第一部分,并获取数组的最后一部分。这将是你的团队。就像这样...

$email_array = explode('.',$email_exploded);
$group = end($email_array);

$group将成为每封电子邮件的组。如果您有一系列电子邮件,则可以运行foreach循环并制作包含电子邮件的多维数组。如果有帮助,请告诉我。如果您还有其他问题,请与我们联系。