[PHP-users 17297]メールのデコードについて

mayo pupil @ olive.freemail.ne.jp
2003年 8月 13日 (水) 21:57:37 JST


寺尾と申します。

ソケットオープンからメールを取得しようとしているのですが、
件名にマルチバイト文字があると
ISO-2022****
と言うエンコードがされています。
現在はそれを

if(ereg("Subject:",$check)){
     sscanf($check,'Subject: %s\r\n',$subject);
     if(eregi("(=\?ISO-2022-JP\?B\?)(.*)(\?=)",$subject,$subjects)){
      $subject = base64_decode("$subjects[2]");
      $subject = mb_convert_encoding($subject,"SJIS","JIS");
     }
}

と言う形で取得してうまく日本語を取得できたのですが、
件名の途中に全角スペースがあるとデコードが二つに分かれてしまいます。
Subject: =?ISO-2022-JP?B?*****?= =?ISO-2022-JP?B?*****?=
このような形になっています。
全角スペースがあるごとに分かれてしまいますのでどのように取得すれば良いのか
思いつきません。

どなたかご教授お願い致します。



PHP-users メーリングリストの案内