試試這段代碼吧,解碼mime 的

來源:互聯網
上載者:User
mime  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()


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.