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\EncoderView 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 |