roundcubemail/program/lib/Roundcube/rcube_mime.php
public static function format_flowed($text, $length = 72, $charset=null)
    {
        $text = preg_split('/\r?\n/', $text);

        foreach ($text as $idx => $line) {
            if ($line != '-- ') {
                if ($level = strspn($line, '>')) {
                    // remove quote chars
                    $line = substr($line, $level);
                    // remove (optional) space-staffing and spaces before the line end
                    $line = rtrim($line, ' ');
                    if ($line[0] === ' ') $line = substr($line, 1);

                    $prefix = str_repeat('>', $level) . ' ';
                    $line   = $prefix . self::wordwrap($line, $length - $level - 2, " \r\n$prefix", false, $charset);
                }
                else if ($line) {
                    $line = self::wordwrap(rtrim($line), $length - 2, " \r\n", false, $charset);
                    // space-stuffing
                    $line = preg_replace('/(^|\r\n)(From| |>)/', '\\1 \\2', $line);
                }

                $text[$idx] = $line;
            }
        }

        return implode("\r\n", $text);
    }
public static function format_flowed($text, $length = 72, $charset=null)
    {
        $text = preg_split('/\r?\n/', $text);

        foreach ($text as $idx => $line) {
            if ($line != '-- ') {
                if ($level = strspn($line, '>')) {
                    // remove quote chars
                    $line = substr($line, $level);
                    // remove (optional) space-staffing and spaces before the line end
                    $line = rtrim($line, ' ');
                    if ($line[0] === ' ') $line = substr($line, 1);

                    $prefix = str_repeat('>', $level) . ' ';
                    $line   = $prefix . self::wordwrap($line, $length - $level - 2, " \r\n$prefix", false, $charset);
                }
                else if ($line) {
                    $line = self::wordwrap(rtrim($line), $length - 2, " \r\n", false, $charset);
                    // space-stuffing
                    $line = preg_replace('/(^|\r\n)(From| |>)/', '\\1 \\2', $line);
                }

                $text[$idx] = $line;
            }
        }

        return implode("\r\n", $text);
    }
public static function format_flowed ( $ text , $ length = 72 , $ charset = null ) { $ text = preg_split ( '/\r?\n/' , $ text ) ; foreach ( $ text as $ idx => $ line ) { if ( $ line != '-- ' ) { if ( $ level = strspn ( $ line , '>' ) ) { // remove quote chars $ line = substr ( $ line , $ level ) ; // remove (optional) space-staffing and spaces before the line end $ line = rtrim ( $ line , ' ' ) ; if ( $ line [ 0 ] === ' ' ) $ line = substr ( $ line , 1 ) ; $ prefix = str_repeat ( '>' , $ level ) . ' ' ; $ line = $ prefix . self :: wordwrap ( $ line , $ length - $ level - 2 , " \r\n$prefix" , false , $ charset ) ; } else if ( $ line ) { $ line = self :: wordwrap ( rtrim ( $ line ) , $ length - 2 , " \r\n" , false , $ charset ) ; // space-stuffing $ line = preg_replace ( '/(^|\r\n)(From| |>)/' , '\\1 \\2' , $ line ) ; } $ text [ $ idx ] = $ line ; } } return implode ( "\r\n" , $ text ) ; }
Wrap the given text to comply with RFC 2646

@param string $text    Text to wrap
@param int    $length  Length
@param string $charset Character encoding of $text

@return string Wrapped text
Wrap the given text to comply with RFC 2646