首页 >后端开发 >php教程 >试试这段代码吧,解码mime的_PHP教程

试试这段代码吧,解码mime的_PHP教程

WBOY
WBOY原创
2016-07-13 17:25:43785浏览

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()

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532028.htmlTechArticlefunction decode_mime_string ($string) { $pos = strpos($string, =?); if (!is_int($pos)) { return $string; } $preceding = substr($string, 0, $pos); // save any preceding text $search...
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn