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()
相关文章
- 新手必看:2025年okex交易所APP下载教程
- 如何用PHP代码实现边缘计算功能集成_PHP边缘计算功能集成与实现教程
- VBS教程:方法-FileExists 方法
- 深度学习中shape[0]、shape[1]、shape[2]的区别详解
- VC6.0如何创建以及调用动态链接库实例详解
- 巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk
- Cream Finance的平台币CREAM单日暴涨70%!黄立成在酝酿什么?
- Golang使用net/http搭建Web服务器
- 为什么Python的is操作符不能代替==操作符_区分对象标识与值相等性
- 如何通过PHP在FTP服务器上实现文件的压缩和解压缩
