PHP кодирует адрес электронной почты
Мне нужен способ в PHP кодировать адрес электронной почты только с помощью a-zA-Z0-9, поэтому в основном кодируется без каких-либо специальных символов, но затем может декодировать его обратно в оригинал.
Пример:
john+doe@mydomain.com => ENCODE => n6bvJjdh7w6QbdVB373483ydbKus7Qx
n6bvJjdh7w6QbdVB373483ydbKus7Qx => DECODE => john+doe@mydomain.com
Возможно ли это вообще?
2 ответа:
Вы можете сделать web safe base64 кодировать:
// encode $email_encoded = rtrim(strtr(base64_encode($email), '+/', '-_'), '='); // decode $email_decoded = base64_decode(strtr($email_encoded, '-_', '+/'));Он преобразует
+и/из алфавита base64 в более безвредные-и_. Шаг кодирования также удаляет заключительные символы=, когда это необходимо.
Если вы допускаете знак равенства, вы можете использовать
base64_encode()и ещеbase64_decode()