Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord PHP Method

getTokenAsEncodedWord() protected method

Get a token as an encoded word for safe insertion into headers.
protected getTokenAsEncodedWord ( string $token, integer $firstLineOffset ) : string
$token string token to encode
$firstLineOffset integer optional
return string
    protected function getTokenAsEncodedWord($token, $firstLineOffset = 0)
    {
        // Adjust $firstLineOffset to account for space needed for syntax
        $charsetDecl = $this->_charset;
        if (isset($this->_lang)) {
            $charsetDecl .= '*' . $this->_lang;
        }
        $encodingWrapperLength = strlen('=?' . $charsetDecl . '?' . $this->_encoder->getName() . '??=');
        if ($firstLineOffset >= 75) {
            //Does this logic need to be here?
            $firstLineOffset = 0;
        }
        $encodedTextLines = explode("\r\n", $this->_encoder->encodeString($token, $firstLineOffset, 75 - $encodingWrapperLength, $this->_charset));
        if (strtolower($this->_charset) !== 'iso-2022-jp') {
            // special encoding for iso-2022-jp using mb_encode_mimeheader
            foreach ($encodedTextLines as $lineNum => $line) {
                $encodedTextLines[$lineNum] = '=?' . $charsetDecl . '?' . $this->_encoder->getName() . '?' . $line . '?=';
            }
        }
        return implode("\r\n ", $encodedTextLines);
    }