如何将 PHP 字符串安全地编码为仅包含字母数字的字符串?例如“Hey123 & 5”可能会变成“ed9e0333”或者可能看起来更好这不是关于剥离字符,而是关于编码。
目标是使此编码后的任何字符串都适合 css id 字符串(alnum),但稍后我需要将其解码回来并获取原始字符串。
bin2hex似乎符合要求(尽管不像其他一些编码那么紧凑)。bin2hex另请注意 CSS id 不能以数字开头,因此在获得最终 ID 之前,您需要在结果中添加一些前缀。
对于相反的(解码),没有这样的东西hex2bin,但 PHP 文档网站上有人建议这样做(未经测试):
$bin_str = pack("H*" , $hex_str);
Run Code Online (Sandbox Code Playgroud)