⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pop3header.class.php

📁 ajax高级应用
💻 PHP
字号:
<?php

class Pop3Header {
	var $_fullHeader;
	var $_headerArray;
	
	function Pop3Header($header) {
		$this->_fullHeader = $header;
		$this->_parseHeader();
	}
	
	function _parseHeader() {
		$this->_headerArray = $this->__parseHeader(split("\r\n",$this->_fullHeader));
	}
	
	function getHeader($header) {
		if (array_key_exists($header, $this->_headerArray)) {
		    return $this->_headerArray[$header];
		}
		
		return "";
	}
	
	function __parseHeader($header) {
		$last_header = '';
		$parsed_header = Array();
		
		for($j = 0; $j < count($header); $j++) {
			$headerArray = split(":", $header[$j], 2);
			if (preg_match_all("/\s/", $headerArray[0], $matches) || !array_key_exists(1, $headerArray)) {
				if ($last_header) 
					$parsed_header[$last_header].="\r\n".trim($header[$j]);
			} else {
				$last_header = strtolower($headerArray[0]);
				if (array_key_exists($last_header, $parsed_header)) {
				    $parsed_header[$last_header] .= (isset($parsed_header[$last_header])?"\r\n":"").trim($headerArray[1]);
				} else {
					//$parsed_header[$last_header] = '';
					$parsed_header[$last_header] = "" . trim($headerArray[1]);

				}
				
			}
		}
		if (is_array($parsed_header))
			foreach($parsed_header as $hd_name => $hd_content) {
				$start_enc_tag = $stop_enc_tag = 0;
				$pre_text = $enc_text = $post_text = "";
				while(1) {
					if(strstr($hd_content,"=?") && strstr($hd_content,"?=") && substr_count($hd_content,"?")>3) {
						$start_enc_tag = strpos($hd_content, "=?");
						$pre_text = substr($hd_content, 0, $start_enc_tag);
						do {
							$stop_enc_tag = strpos($hd_content, "?=", $stop_enc_tag) + 2;
							$enc_text = substr($hd_content, $start_enc_tag, $stop_enc_tag);
						} while (!(substr_count($enc_text,"?") > 3));
							$enc_text = explode("?", $enc_text, 5);
							switch(strtoupper($enc_text[2])) {
								case "B":
									$dec_text = base64_decode($enc_text[3]);
									break;
								case "Q":
								
								default:
									$dec_text = quoted_printable_decode($enc_text[3]);
									$dec_text = str_replace("_", " ", $dec_text);
									break;
							}
							$post_text = substr($hd_content,$stop_enc_tag);
							if(substr(ltrim($post_text), 0, 2) == "=?")
								$post_text = ltrim($post_text);
							$hd_content = $pre_text.$dec_text.$post_text;
							$parsed_header[$hd_name] = $hd_content;
					} else break;
			}
		}
		return $parsed_header;
	}
}

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -