[PHP-users 17313] (????)

hash8931 @ mail.goo.ne.jp hash8931 @ mail.goo.ne.jp
2003年 8月 14日 (木) 19:59:01 JST


すみません!
文字が化けていて、コードが壊れていました。
先にお送りしたコードでは機能しません。
正しくは

while (eregi("(=\?ISO\-2022\-JP\?B\?)([^\?]*)(\?=)",$subject,$hits)){
	$encoded_part = $hits[1].$hits[2].$hits[3];
	$decode_part = base64_decode($hits[2]);
	$subject = str_replace($replace_part,$decode_part,$subject);
}

です。
失礼しました。

 --- mayo <pupil @ olive.freemail.ne.jp> からのメッセージ:
> 寺尾です。
> 
> 高橋さんありがとうございます。
> メールの日本語はホント苦労します。
> 一括エンコードが標準化されればいいのに・・・と思いますが
> 何かしら理由があるからだと思うので、この方法を使わせて頂きます。
> 今すぐは実験できないので、明日できなかったら1週間後になるけど・・・。
> 結果をご報告させて頂きます。
> 
> PHPを始めて半年とまだまだ初心者ですので、他にもいろいろな方法があれば
> 教えて頂きたいと思います。
> よろしくお願い致します!!
> 
> >
> > 高橋です
> >
> > 表題全体を一括してエンコードしてある場合は
> > たしかに寺尾さんのコードでも機能するかもしれませんが
> > ここは特にルールが標準化されていませんし、
> > 複数部分に分けてエンコードされたメールも少なくないようです。
> > そこで、こんなふうにしてみてはいかがでしょうか。
> > 文字列中にキーワードがあるあいだ、whileでループし
> > 1個ずつ変換した文字列と置換してゆくというものです。
> >
> > こんかいのような「Subject」に限らずとも、
> > 文字列置換を繰り返し行いたい場合に応用できます。
> >
> > while (eregi(\"(=??ISO?-2022?-JP??B??)([^??]*)(??=)\",$subject,$hits)){
> > $encoded_part = $hits[1].$hits[2].$hits[3];
> > $decode_part = base64_decode($hits[2]);
> > $subject = str_replace($replace_part,$decode_part,$subject);
> > }
> >
> > #mailの日本語表題はもう一般的になってしまって
> >  これを無視することは出来ないようですね。
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users


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