2013-08-06 3 views
-1

Мне нужно создать ник с адреса электронной почты пользователя. Например: [email protected]создать псевдоним по электронной почте. Регулярное выражение

в этом случае прозвище, которое я должен создать должно содержать только буквенно-цифровые символы: mariorossi79

Как я могу это сделать?

+1

Вы пробовали что-нибудь еще? –

+2

Обратите внимание, что 'mario-rossi79 @ gmail.com' и' mario-rossi79 @ yahoo.com' могут быть двумя разными лицами, которые хотели бы воспользоваться вашим сервисом. –

+1

@moose, а как насчет [email protected] и [email protected]? – 7stud

ответ

0

вы можете сделать это за 2 прохода. сначала удалите @domain второй, не удаляйте алфавитный номер.

$email = "[email protected]"; 
$user = preg_replace("/@.*$/", "", $email); 
$nickname = preg_replace("/[^A-Za-z0-9]/", "", $user); 
+0

Благодаря @ DevZer0 ваш код идеален. Это будет работать с любым правом электронной почты? –

+0

потенциально да, если адрес электронной почты имеет '@' разделение. – DevZer0

2

Попробуйте это:

$email = '[email protected]'; 
$arr = explode("@", $email); 
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $arr[0]); 
echo $result; 
+0

Делает ли что-нибудь в вашем регулярном выражении? – 7stud

+0

@ 7stud + используется для одного или нескольких символов. – Ranjan

+0

Без +, ваше решение не сработает, да? – 7stud

Смежные вопросы