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