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

Breadcrumb

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

class Rfc2231Encoder

@author Chris Corbyn

Hierarchy

  • class \Symfony\Component\Mime\Encoder\Rfc2231Encoder implements \Symfony\Component\Mime\Encoder\EncoderInterface

Expanded class hierarchy of Rfc2231Encoder

1 file declares its use of Rfc2231Encoder
ParameterizedHeader.php in vendor/symfony/mime/Header/ParameterizedHeader.php

File

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

Namespace

Symfony\Component\Mime\Encoder
View source
final class Rfc2231Encoder implements EncoderInterface {
    
    /**
     * Takes an unencoded string and produces a string encoded according to RFC 2231 from it.
     */
    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);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
Rfc2231Encoder::encodeString public function Takes an unencoded string and produces a string encoded according to RFC 2231 from it. Overrides EncoderInterface::encodeString

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal