2012-06-20 3 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 ?? Ваше решение работает тоже, но мой немного отличается: он juste удаляет строку между + и @. Вы переписываете всю электронную почту. Оба в порядке. Я просто добавил мое в качестве другого потенциального решения. Не шутите вообще. – htaidirt

0

Попробуйте с

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

если [email protected] также должны быть заменены, вы можете взять

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

легко

$email = preg_replace('/\+[^@]*/i' , '' , $email); 
Смежные вопросы