2012-06-20 66 views
-3

爲了推廣網站,我允許訂閱者通過電子郵件邀請朋友,我會獎勵他們。PHP + Preg_replace:刪除電子郵件中的'+'後的部分

但是,他們中的一些,使用的電子郵件列表,如:

[email protected], [email protected], [email protected] 

和所有的電子郵件是指[email protected]所以他們都是有效的。

什麼是preg_replace模式,刪除'+'符號後的部分,所以我可以,之後,爆炸並使用array_unique刪除重複的電子郵件?

謝謝。

+1

你嘗試過這麼遠嗎?你知道,這個網站並不意味着讓其他人做你的整個工作。 – Bart

+0

沒有規則說X + Y @表單的電子郵件必須到X,這只是gmail的一些功能。 – mensi

+0

對不起巴特你認爲我給你我的工作要做:如果我沒有給出任何代碼,那是因爲它們都不起作用。以下是我發現它的工作原理。 – htaidirt

回答

0

我終於明白了。 Juste刪除'+'和'@'之間的部分使用:

preg_replace('/\+(.)*@/', '@', $emails); 

希望它會有所幫助。

P.S .:對不起巴特你認爲我給你我的工作要做:如果我沒有給出任何代碼,那是因爲它們都不起作用。

+0

你在開玩笑嗎? –

+0

@Dan ??你的解決方案也可以工作,但是我的解決方案有點不同:它可以刪除+和@之間的字符串。你重寫整個電子郵件。兩者都可以。我只是把我的作爲另一個潛在的解決方案。沒有開玩笑。 – htaidirt

0

preg_replace('/(.+)\+.+(@.+)/', '$1$2', $mail); 

嘗試,如果[email protected]也應更換,你可以採取

preg_replace('/(.+)\+.*(@.+)/', '$1$2', $mail); 
3

容易

$email = preg_replace('/\+[^@]*/i' , '' , $email); 
相關問題