从加密数据中删除空格

时间:2012-09-25 19:54:57

标签: php whitespace mcrypt strlen

我有一个解密早期解密数据的功能:

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)。

如何删除这些空格?

2 个答案:

答案 0 :(得分:1)

尝试在没有第二个参数的情况下调用rtrim()。这将删除大量空白字符,而不仅仅是您指定的NUL字节字符。

$trimmedData = rtrim($decryptedText);

答案 1 :(得分:0)

奇怪,修剪()应该有用。尝试正则表达式:

$string = preg_replace('~\s+$~', '', $string);