为了推广网站,我允许订阅者通过电子邮件邀请朋友并奖励他们。
但是,其中一些人使用了一个电子邮件列表,例如:
user@example.com, user+1@example.com, user+2@example.com
并且所有电子邮件所指user@example.com
的都是有效的。
什么是 preg_replace 模式,它删除了“+”号之后的部分,这样我就可以在此之后分解并使用 array_unique 删除重复的电子邮件?
谢谢。
为了推广网站,我允许订阅者通过电子邮件邀请朋友并奖励他们。
但是,其中一些人使用了一个电子邮件列表,例如:
user@example.com, user+1@example.com, user+2@example.com
并且所有电子邮件所指user@example.com
的都是有效的。
什么是 preg_replace 模式,它删除了“+”号之后的部分,这样我就可以在此之后分解并使用 array_unique 删除重复的电子邮件?
谢谢。
简单的
$email = preg_replace('/\+[^@]*/i' , '' , $email);
我终于明白了。只需使用以下方法删除 '+' 和 '@' 之间的部分:
preg_replace('/\+(.)*@/', '@', $emails);
希望它会有所帮助。
PS:我很抱歉巴特你以为我给你我的工作要做:如果我没有提供任何代码,那是因为它们都不起作用。
试试看
preg_replace('/(.+)\+.+(@.+)/', '$1$2', $mail);
如果user+@example.com
也应该更换,你可以采取
preg_replace('/(.+)\+.*(@.+)/', '$1$2', $mail);
要在您的情况下使用 preg_replace,您可以执行以下操作:
$email = 'user+1@example.com';
$email = preg_replace("#(.+)\+.*@(.*)#", '$1@$2', $email);