Avatar billede svoeber Nybegynder
28. april 2004 - 14:14 Der er 1 kommentar og
1 løsning

Sende mails som quoted printable

Findes der en funktion, der gør det omvendte af
quoted_printable_decode(str)
således at man kan encode en tekst til quoted printable som fx. til en e-mail?
Avatar billede dennismp Nybegynder
28. april 2004 - 16:37 #1
har du prøvet denne funktion?

function qp_enc($input = "quoted-printable encoding test string", $line_max = 76) {

  $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  $lines = preg_split("/(?:\r\n|\r|\n)/", $input);
  $eol = "\r\n";
  $escape = "=";
  $output = "";

  while( list(, $line) = each($lines) ) {
      //$line = rtrim($line); // remove trailing white space -> no =20\r\n necessary
      $linlen = strlen($line);
      $newline = "";
      for($i = 0; $i < $linlen; $i++) {
          $c = substr($line, $i, 1);
          $dec = ord($c);
          if ( ($dec == 32) && ($i == ($linlen - 1)) ) { // convert space at eol only
              $c = "=20";
          } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
              $h2 = floor($dec/16); $h1 = floor($dec%16);
              $c = $escape.$hex["$h2"].$hex["$h1"];
          }
          if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
              $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay
              $newline = "";
          }
          $newline .= $c;
      } // end of for
      $output .= $newline.$eol;
  }
  return trim($output);

}
Avatar billede svoeber Nybegynder
28. april 2004 - 16:59 #2
Ja, det ser sørme ud til at virke :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester