我有一个解密早期解密数据的功能:
public function Decrypt($encrypedText) {
$key = "The secret key is";
$decryptedText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($encrypedText), MCRYPT_MODE_ECB);
$trimmedData = rtrim($decryptedText, '\0');
echo strlen($trimmedData); // 32
return $trimmedData;
}
如果我在函数中输入“Test”,结果将是“Test”+ 28个空格。我得到了一些人的提示,他告诉我使用“rtrim”在上面的函数中删除白色空格,但这似乎不起作用(当我检查结果的长度时它仍然是32)。
如何删除这些空格?
答案 0 :(得分:1)
尝试在没有第二个参数的情况下调用rtrim()。这将删除大量空白字符,而不仅仅是您指定的NUL字节字符。
$trimmedData = rtrim($decryptedText);
答案 1 :(得分:0)
奇怪,修剪()应该有用。尝试正则表达式:
$string = preg_replace('~\s+$~', '', $string);