diff options
author | alecpl <alec@alec.pl> | 2009-10-05 09:26:33 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2009-10-05 09:26:33 +0000 |
commit | 7fc0b94450df4ac91de1aa7350574974e2b0a21b (patch) | |
tree | 940cc13787e2282c2e2c03d75df898fb6392cb85 | |
parent | 640d305d8ddab2a16aad43602669c86fbaf14678 (diff) |
- improve Content-type header parsing
-rw-r--r-- | program/lib/imap.inc | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 437ea5949..9d896ffe0 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -1592,13 +1592,10 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bo $result[$id]->encoding = $string; break; case 'content-type': - $ctype_parts = explode(";", $string); + $ctype_parts = preg_split('/[; ]/', $string); $result[$id]->ctype = array_shift($ctype_parts); - foreach ($ctype_parts as $ctype_add) { - if (preg_match('/charset="?([a-z0-9\-\.\_]+)"?/i', - $ctype_add, $regs)) { - $result[$id]->charset = $regs[1]; - } + if (preg_match('/charset\s*=\s*"?([a-z0-9\-\.\_]+)"?/i', $string, $regs)) { + $result[$id]->charset = $regs[1]; } break; case 'in-reply-to': |