我不是一个PHP专家。我正在使用base64_encode
对网址进行编码。
我得到了一个很长的编码字符串,其中包含许多奇怪的字符,正如我想要的那样。
有没有办法修剪这一长串字符让我们说10或15个字符,所以我可以在以后再解码它?
我知道有trim()
,但这并不是我想要的。我想要一个长编码的字符串相当短,后来我想再次解码它。
有什么想法吗?
答案 0 :(得分:8)
在不丢失某些数据的情况下,不可能“缩短”任何字符串。
如果您想缩短编码字符串(最终结果只是该字符串的一部分),请应用substr()
,但不是在编码版本上:您需要先解码它,然后重新编码缩短版本。
另一种选择是压缩字符串。这个可能会缩短它:查看gzcompress()。但是,您的里程可能会有所不同:压缩率取决于您拥有的数据类型。对于小输入字符串,结果甚至可能比原始字符串大。
如果您想在多页面处理中重复使用变量,并且不想通过链接或表单传输它,请考虑生成一个短随机密钥,并且将数据存储在用户的会话中:
$_SESSION[$randomKey] = "lllloooooooooooong data here";
您可以传递随机密钥,并始终使用$_SESSION[$randomKey]
访问“长”数据。您需要初始化session。