fork download
  1. <?php
  2.  
  3. $val = '受付窓口<em@unisto.co.jp>';
  4. $adds = explode(',',$val);
  5. if(count($adds)>0)
  6. {
  7. $val = "";
  8. foreach($adds as $address)
  9. {
  10. if($val)
  11. $val .= ',';
  12. if (preg_match("<(.+@.+\..+)>",trim($address),$add))
  13. {
  14. $address = trim(preg_replace($add[0],"",$address),'<>');
  15. $address = trim($this->str2base64($address,$key));
  16. $val .= $address.$add[0];
  17. }
  18. else
  19. $val .= $address;
  20. }
  21. }
  22.  
  23. function str2base64($str,$key)
  24. {
  25. $str = $this->utf8_jis($str, 'JIS', 'UTF-8');
  26. // 条件分岐
  27. switch($key)
  28. {
  29. case "subject":
  30. //## mb_encode_mimeheader() の改行コードが一定でないので手動処理に一本化
  31. $base64 = "";
  32. while($str)
  33. {
  34. $temp = mb_strimwidth($str,0,30,"");
  35. $base64 .= "=?ISO-2022-JP?B?".base64_encode($temp)."?=\n";
  36. $str = mb_strimwidth($str,mb_strlen($temp),mb_strwidth($str),"");
  37. }
  38. break;
  39. default:
  40. $base64 = "=?ISO-2022-JP?B?".base64_encode($str)."?=";
  41. break;
  42. }
  43. return $base64;
  44. }
  45.  
  46. // UTF8=>JISへの文字コード変換処理(機種依存文字対応)
  47. function utf8_jis($str)
  48. {
  49. return mb_convert_encoding(mb_convert_encoding($str,'EUCJP-win', 'UTF-8'), 'JIS', 'EUC-JP');
  50. }
Runtime error #stdin #stdout 0s 82944KB
stdin
Standard input is empty
stdout
Standard output is empty