449 |
return(mb_convert_encoding($newvalue, "EUC-JP", "auto")); // parts |
return(mb_convert_encoding($newvalue, "EUC-JP", "auto")); // parts |
450 |
} else { |
} else { |
451 |
if (eregi('".*"',$value)) { // quoted-pair |
if (eregi('".*"',$value)) { // quoted-pair |
452 |
$newvalue=ereg_replace('(.*)"(.*)"(.*)',"\\1".decode_quoted_pair("\\2")."\\3",$value); |
ereg('([^"]*)"(([^"]+|\\\\.)*)"(.*)',$value,$vals); |
453 |
|
$newvalue = $vals[1].decode_quoted_pair($vals[2]).$vals[4]; |
454 |
return(mb_convert_encoding($newvalue, "EUC-JP", "auto")); |
return(mb_convert_encoding($newvalue, "EUC-JP", "auto")); |
455 |
} else { // there wasn't anything encoded, return the original string |
} else { // there wasn't anything encoded, return the original string |
456 |
return(mb_convert_encoding($value, "EUC-JP", "auto")); |
return(mb_convert_encoding($value, "EUC-JP", "auto")); |
459 |
} |
} |
460 |
|
|
461 |
function decode_quoted_pair($value) { |
function decode_quoted_pair($value) { |
462 |
return(ereg_replace('\\\\(.)','\1',$value)); |
return(ereg_replace('\\\\(.)',"\\1",$value)); |
463 |
} |
} |
464 |
|
|
465 |
function getTimestamp($value) { |
function getTimestamp($value) { |
560 |
case "x-newsreader:": |
case "x-newsreader:": |
561 |
case "x-mailer:": |
case "x-mailer:": |
562 |
case "user-agent:": |
case "user-agent:": |
563 |
$header->user_agent=trim(headerDecode($value)); |
$header->user_agent=trim(decode_structured_body($value)); |
564 |
break; |
break; |
565 |
case "x-face:": |
case "x-face:": |
566 |
// echo "<p>-".base64_decode($value)."-</p>"; |
// echo "<p>-".base64_decode($value)."-</p>"; |
575 |
return $header; |
return $header; |
576 |
} |
} |
577 |
|
|
578 |
|
function decode_structured_body ($body) { |
579 |
|
ereg("(\"([^\"]+|\\\\.)*\"|\\(([^()]+|\\\\.)*\\)|[^\"])+", $body, $element); |
580 |
|
return join('-', $element); |
581 |
|
} |
582 |
|
|
583 |
function decode_body($body,$encoding) { |
function decode_body($body,$encoding) { |
584 |
$bodyzeile=""; |
$bodyzeile=""; |
585 |
switch ($encoding) { |
switch ($encoding) { |