Ejemplo n.º 1
0
 /**
  * Performs quoted-printable encoding (this code is from Zend_Mime).
  *
  * @param string $str      String to be encoded.
  * @param int $lineLength  Line length to wrap.
  * @param string $lineEnd  Line ending.
  * @return string
  */
 function encodeQuotedPrintable($str, $lineLength = 72, $lineEnd = "\n")
 {
     $out = '';
     $str = Mail_Simple::_encodeQuotedPrintable($str);
     // Split encoded text into separate lines
     while ($str) {
         $ptr = strlen($str);
         if ($ptr > $lineLength) {
             $ptr = $lineLength;
         }
         // Ensure we are not splitting across an encoded character
         $pos = strrpos(substr($str, 0, $ptr), '=');
         if ($pos !== false && $pos >= $ptr - 2) {
             $ptr = $pos;
         }
         // Check if there is a space at the end of the line and rewind
         if ($ptr > 0 && $str[$ptr - 1] == ' ') {
             --$ptr;
         }
         // Add string and continue
         $out .= substr($str, 0, $ptr) . '=' . $lineEnd;
         $str = substr($str, $ptr);
     }
     $out = rtrim($out, $lineEnd);
     $out = rtrim($out, '=');
     return $out;
 }