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()