safeMap[$byte] = \chr($byte); } } /** * Get the name of this encoding scheme. * * Returns the string 'Q'. * * @return string */ public function getName() { return 'Q'; } /** * Takes an unencoded string and produces a QP encoded string from it. * * @param string $string string to encode * @param int $firstLineOffset optional * @param int $maxLineLength optional, 0 indicates the default of 76 chars * * @return string */ public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) { return str_replace([' ', '=20', "=\r\n"], ['_', '_', "\r\n"], parent::encodeString($string, $firstLineOffset, $maxLineLength) ); } }