Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Rfc2231Encoder.php

function Rfc2231Encoder::encodeString

Takes an unencoded string and produces a string encoded according to RFC 2231 from it.

Overrides EncoderInterface::encodeString

File

vendor/symfony/mime/Encoder/Rfc2231Encoder.php, line 24

Class

Rfc2231Encoder
@author Chris Corbyn

Namespace

Symfony\Component\Mime\Encoder

Code

public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0) : string {
    $lines = [];
    $lineCount = 0;
    $lines[] = '';
    $currentLine =& $lines[$lineCount++];
    if (0 >= $maxLineLength) {
        $maxLineLength = 75;
    }
    $charStream = new CharacterStream($string, $charset);
    $thisLineLength = $maxLineLength - $firstLineOffset;
    while (null !== ($char = $charStream->read(4))) {
        $encodedChar = rawurlencode($char);
        if ('' !== $currentLine && \strlen($currentLine . $encodedChar) > $thisLineLength) {
            $lines[] = '';
            $currentLine =& $lines[$lineCount++];
            $thisLineLength = $maxLineLength;
        }
        $currentLine .= $encodedChar;
    }
    return implode("\r\n", $lines);
}
RSS feed
Powered by Drupal