Troels Arvin skrev:
> On Mon, 13 May 2002 10:22:11 +0200, Martin Skou Andersen wrote:
>
>> Hvordan konverter man ISO-8859-1 encoded tekst til almindelig
>> forståelig dansk?
> ISO-8859-1 _er_ forståelig dansk.
>
>> Jeg har f.eks. sådan en streng:
>> =?iso-8859-1?Q?Dette=20er=20sv=e6rt=20at=20l=e6se?=. Som er: Dette er
>> svært at læse.
> Ja, for det er "quoted printable" encode'et.
>
>
http://dk.php.net/manual/en/function.quoted-printable-decode.php
Alene at køre funktionen quoted_printable_decode() vil ikke være nok.
Man skal jo også fjerne "=?iso-8859-1?Q?", som kan forekomme i flere
forskellige variationer og flere gange i strengen.
Løsninger er at bruge imap_mime_header_decode()-funktionen. Den virker
dog kun, hvis man har IMAP-understøttelse i PHP. Har man ikke det, kan
man bruge følgende funktion, jeg har lavet til Instant Web Mail:
function mimeHeaderDecode($string) {
if (strstr($string, "=?")) {
$explode = explode("=?", $string);
$newString = $explode[0];
for ($i = 1; $i < sizeof($explode); $i++) {
$explode2 = explode("?", $explode[$i]);
$newString .= (strtolower($ex
plode2[1]) == "q") ? quoted_printable_decode($explode2[2]) : base64_decode($explode2[2]);
$newString .= substr($explode2[3], 1);
}
}
else return $string;
return $newString;
}
--
Jonas Koch Bentzen
http://understroem.dk/