Swift_Mime_Headers_AbstractHeader::encodeWords PHP Method

encodeWords() protected method

Encode needed word tokens within a string of input.
protected encodeWords ( Swift_Mime_Header $header, string $input, string $usedLength ) : string
$header Swift_Mime_Header
$input string
$usedLength string optional
return string
    protected function encodeWords(Swift_Mime_Header $header, $input, $usedLength = -1)
    {
        $value = '';
        $tokens = $this->getEncodableWordTokens($input);
        foreach ($tokens as $token) {
            // See RFC 2822, Sect 2.2 (really 2.2 ??)
            if ($this->tokenNeedsEncoding($token)) {
                // Don't encode starting WSP
                $firstChar = substr($token, 0, 1);
                switch ($firstChar) {
                    case ' ':
                    case "\t":
                        $value .= $firstChar;
                        $token = substr($token, 1);
                }
                if (-1 == $usedLength) {
                    $usedLength = strlen($header->getFieldName() . ': ') + strlen($value);
                }
                $value .= $this->getTokenAsEncodedWord($token, $usedLength);
                $header->setMaxLineLength(76);
                // Forcefully override
            } else {
                $value .= $token;
            }
        }
        return $value;
    }