Как безопасно кодировать строку PHP только в буквенно-цифровую форму? - PullRequest
3 голосов
/ 05 февраля 2010

Как безопасно кодировать строку PHP в буквенно-цифровую единственную строку? Например. «Hey123 & 5» может стать «ed9e0333» или может выглядеть лучше Речь идет не об удалении символов, а о кодировании.

Цель состоит в том, чтобы любая строка после этой кодировки подходила для строки css id (alnum), но позже мне нужно будет декодировать его обратно и получить оригинальную строку.

Ответы [ 3 ]

4 голосов
/ 05 февраля 2010

bin2hex, кажется, соответствует требованиям (хотя и не так компактно, как некоторые другие кодировки). Также позаботьтесь о том, чтобы CSS-идентификаторы не могли начинаться с цифры, поэтому, прежде чем получить окончательный идентификатор, вам нужно будет что-то добавить к результату bin2hex.

Для обратного (декодирование) такого понятия, как hex2bin, не существует, но кто-то на сайте документации PHP предложил это (не проверено):

$bin_str = pack("H*" , $hex_str);
0 голосов
/ 12 мая 2016

Эта тема давно не работает, но я искал решение этой проблемы и нашел эту тему, кто-то может найти простой ответ полезным.

Мое решение:

str_replace('=', '_', base64_encode($data));
0 голосов
/ 05 февраля 2010

Вы можете использовать кодировку BASE64

http://php.net/manual/function.base64-encode.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...