动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 试试这段代码吧,解码mime 的

作者来源: 
阅读 数 613 人次 , 2006-4-18 17:26:00 


    function decode_mime_string ($string) {
   $pos = strpos($string, '=?');
   if (!is_int($pos)) {
     return $string;
   }
   
   $preceding = substr($string, 0, $pos); // save any preceding text
   
   $search = substr($string, $pos+2, 75); /* the mime header spec says this is the longest a single encoded word can be */
   $d1 = strpos($search, '?');
   if (!is_int($d1)) {
     return $string;
   }
   
   $charset = substr($string, $pos+2, $d1);
   $search = substr($search, $d1+1);
   
   $d2 = strpos($search, '?');
   if (!is_int($d2)) {
     return $string;
   }
   
   $encoding = substr($search, 0, $d2);
   $search = substr($search, $d2+1);
   
   $end = strpos($search, '?=');
   if (!is_int($end)) {
     return $string;
   }
   
   $encoded_text = substr($search, 0, $end);
   $rest = substr($string, (strlen($preceding . $charset . $encoding . $encoded_text)+6));
   
   switch ($encoding) {
   case 'Q':
   case 'q':
     $encoded_text = str_replace('_', '%20', $encoded_text);
     $encoded_text = str_replace('=', '%', $encoded_text);
     $decoded = urldecode($encoded_text);
     
     if (strtolower($charset) == 'windows-1251') {
       $decoded = convert_cyr_string($decoded, 'w', 'k');
     }
     break;
     
   case 'B':
   case 'b':
     $decoded = urldecode(base64_decode($encoded_text));
     
     if (strtolower($charset) == 'windows-1251') {
       $decoded = convert_cyr_string($decoded, 'w', 'k');
     }
     break;
     
   default:
     $decoded = '=?' . $charset . '?' . $encoding . '?' . $encoded_text . '?=';
     break;
   }
   
   return $preceding . $decoded . decode_mime_string($rest);
} // decode_mime_string()   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:好消息,终于可以直接在GD中输出汉字了。当然需要一个函数转换。谢谢sadly!
· 下一篇:转贴:开发大型PHP项目的方法(五)
· 正则表达式资源
· 看看PHP如何得到网卡的MAC:
· 最小化数据传输——在客户端存储数据
· WINDOWS 2000下使用ISAPI方式安装PHP
· QQwry.dat格式分析和查询IP位置的PHP程序


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077