phpbar.de logo

Mailinglisten-Archive

[php] Re: eMails, POP3 und encoding

[php] Re: eMails, POP3 und encoding

Martin Ramsch m.ramsch_(at)_computer.org
Fri, 12 Mar 1999 23:14:02 +0100


Axel Tietje schrieb am Freitag, den 12. März 1999:
> Wie kann man Texte, die z. B. bei eMails
> quoted-printable encoded worden sind, [...]
> wieder decoden?

PHP hat zwar (noch?) keine eigene Funktion dafür, aber netterweise
ist die URL-Kodierung prinzipiell das Gleiche, nur daß dort "%xy"
verwendet wird, statt "=xy" bei MIMEs quoted-printable.

Also:  Einfach alle "=xy" in "%xy" umwandeln und dann "urldecode"!

Sonderregeln:
- Ein Gleichheitszeichen ganz einsam am Zeilenende heißt bei q-p, daß
  es einfach in der nächsten Zeile weitergeht.
- Originale Prozentzeichen selbst brauchen Sonderbehandlung, damit
  "urldecode" sie nicht verwurstelt.

  $text = "da=DF ber=FCcksichtigt w=E4re = schoen";
  $text = eregi_replace("=(\n|$)", "", $text);
  $text = eregi_replace("%", "=25", $text);
  $text = eregi_replace("=([0-9a-f][0-9a-f])", "%\\1", $text);
  $text = urldecode($text);
  echo $text;

Von mir aus auch:

  $text = "Da=DF MIME q-p ber=FCcksichtigt, w=E4re gut=\nhallo\n";
  echo urldecode(eregi_replace("=([0-9a-f][0-9a-f])", "%\\1", eregi_replace("%", "=25", eregi_replace("=(\n|$)", "", $text))));

:-)

Ciao,
  Martin
-- 
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ >
PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26  E4 EC 80 58 7B 31 3A D7


php::bar PHP Wiki   -   Listenarchive