亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php解析mht文件轉換成html的實例

2024-09-04 11:49:25
字體:
來源:轉載
供稿:網友

php解析mht文件,使用編輯器打開可以看到base64編碼所以,mht是可以轉換成html的。

  1. <?php 
  2.   
  3. /** 
  4.  * 針對Mht格式的文件進行解析 
  5. * 使用例子: 
  6. * 
  7. * function mhtmlParseBody($filename) { 
  8.   
  9.     if (file_exists ( $filename )) { 
  10.         if (is_dir ( $filename )) return false; 
  11.           
  12.         $filename = strtolower ( $filename ); 
  13.         if (strpos ( $filename, '.mht', 1 ) == FALSE) return false; 
  14.               
  15.           
  16.         $o_mhtml = new mhtml (); 
  17.         $o_mhtml->set_file ( $filename ); 
  18.         $o_mhtml->extract (); 
  19.         return $o_mhtml->get_part_to_file(0); 
  20.   
  21.     } 
  22.     return null; 
  23. } 
  24.   
  25. function mhtmlParseAll($filename) { 
  26.   
  27.     if (file_exists ( $filename )) { 
  28.         if (is_dir ( $filename )) return false; 
  29.   
  30.         $filename = strtolower ( $filename ); 
  31.         if (strpos ( $filename, '.mht', 1 ) == FALSE) return false; 
  32.               
  33.   
  34.         $o_mhtml = new mhtml (); 
  35.         $o_mhtml->set_file ( $filename ); 
  36.         $o_mhtml->extract (); 
  37.         return $o_mhtml->get_all_part_file(); 
  38.   
  39.     } 
  40.     return null; 
  41. } 
  42. */ 
  43.   
  44. classmhtparse { 
  45.   
  46.     var$file='' 
  47.     var$boundary='' 
  48.     var$filedata='' 
  49.     var$countparts= 1; 
  50.     var$log='' 
  51.       
  52.     functionextract() { 
  53.         $this->read_filedata (); 
  54.         $this->file_parts (); 
  55.   
  56.         return1; 
  57.     } 
  58.       
  59.     functionset_file($p) { 
  60.         $this->file =$p
  61.     } 
  62.       
  63.     functionget_log() { 
  64.         return$this->log; 
  65.     } 
  66.       
  67.     functionfile_parts() { 
  68.         $lines=<a href="/tags.php/explode/" target="_blank">explode</a>("/n",<a href="/tags.php/substr/" target="_blank">substr</a>($this->filedata, 0, 8192 ) ); 
  69.         <a href="/tags.php/foreach/" target="_blank">foreach</a>($linesas$line) { 
  70.             $line= trim ($line); 
  71.             if(strpos($line,'=') !== FALSE) { 
  72.                 if(strpos($line,'boundary', 0 ) !== FALSE) { 
  73.                     $range=$this->getrange ($line,'"','"', 0 ); 
  74.                     $this->boundary ="--".$range['range']; 
  75.                     $this->filedata =str_replace($line,'',$this->filedata ); 
  76.                     break
  77.                 } 
  78.             } 
  79.         } 
  80.         if($this->boundary !='') { 
  81.             $this->filedata =explode($this->boundary,$this->filedata ); 
  82.             unset ($this->filedata [0] ); 
  83.             $this->filedata =array_values($this->filedata ); 
  84.             $this->countparts =count($this->filedata ); 
  85.         }else
  86.             $tmp=$this->filedata; 
  87.             $this->filedata =array
  88.                     $tmp 
  89.             ); 
  90.         } 
  91.     } 
  92.       
  93.     functionget_all_part_file() { 
  94.         return$this->filedata; 
  95.     } 
  96.       
  97.     functionget_part_to_file($i) { 
  98.         $line_data_start= 0; 
  99.         $encoding='' 
  100.         $part_lines=explode("/n", ltrim ($this->filedata [$i] ) ); 
  101.         foreach($part_linesas$line_id=>$line) { 
  102.             $line= trim ($line); 
  103.             if($line=='') { 
  104.                 if(trim ($part_lines[0] ) =='--'
  105.                     return1; 
  106.                 $line_data_start=$line_id
  107.                 break
  108.             } 
  109.             if(strpos($line,':') !== FALSE) { 
  110.                 $pos=strpos($line,':'); 
  111.                 $k=strtolower( trim (substr($line, 0,$pos) ) ); 
  112.                 $v= trim (substr($line,$pos+ 1,strlen($line) ) ); 
  113.                 if($k=='content-transfer-encoding') { 
  114.                     $encoding=$v
  115.                 } 
  116.                 if($k=='content-location') { 
  117.                     $location=$v
  118.                 } 
  119.                 if($k=='content-type') { 
  120.                     $contenttype=$v
  121.                 } 
  122.             } 
  123.         } 
  124.           
  125.         foreach($part_linesas$line_id=>$line) { 
  126.             if($line_id<=$line_data_start
  127.                 $part_lines[$line_id] ='' 
  128.         } 
  129.           
  130.         $part_lines= implode ('',$part_lines); 
  131.         if($encoding=='base64'
  132.             $part_lines=base64_decode($part_lines); 
  133.         elseif($encoding=='quoted-printable'
  134.             $part_lines= imap_qprint ($part_lines); 
  135.           
  136.         return$part_lines
  137.     } 
  138.       
  139.     functionread_filedata() { 
  140.         $handle=<a href="/tags.php/fopen/" target="_blank">fopen</a>($this->file,'r'); 
  141.         $this->filedata =fread($handle,filesize($this->file ) ); 
  142.         fclose ($handle); 
  143.     } 
  144.       
  145.     functiongetrange(&$subject,$Beginmark_str='{',$Endmark_str='}',$Start_pos= 0) { 
  146.         /* 
  147.          *  $str="sssss { x { xx } {xx{xx } x} x} sssss";  $range=string::getRange($str,'{','}',0); echo $range['range']; //tulem: "  x { xx } {xx{xx } x} x" echo $range['behin']; //tulem: 6 echo  $range['end']; //tulem: 30 (' ') -- l5pumärgist järgnev out:  array('range'=>$Range,'begin'=>$Begin_firstOccurence_pos,'end'=>$End_sequel_pos)  | false v1.1 2004-2006,Uku-Kaarel  J5esaar,ukjoesaar@hot.ee,http://www.hot.ee/ukjoesaar,+3725110693 
  148.          */ 
  149.         if(emptyempty($Beginmark_str)) 
  150.             $Beginmark_str='{' 
  151.         $Beginmark_str_len=strlen($Beginmark_str); 
  152.           
  153.         if(emptyempty($Endmark_str)) 
  154.             $Endmark_str='}' 
  155.         $Endmark_str_len=strlen($Endmark_str); 
  156.           
  157.         /* $Start_pos_cache = 0; */ 
  158.         do
  159.             /* !algus */ 
  160.             if(!is_int($Begin_firstOccurence_pos)) 
  161.                 $Start_pos_cache=$Start_pos
  162.                   
  163.                 /* ?algus-test */ 
  164.             $Start_pos_cache= @strpos($subject,$Beginmark_str,$Start_pos_cache); 
  165.               
  166.             /* this is possible start for range */ 
  167.             if(is_int($Start_pos_cache)) { 
  168.                 /* skip */ 
  169.                 $Start_pos_cache= ($Start_pos_cache+$Beginmark_str_len); 
  170.                 /* test possible range start pos */ 
  171.                 if(is_int($Begin_firstOccurence_pos)) { 
  172.                     if($Start_pos_cache<$range_end_pos
  173.                         $rangeClean= 0; 
  174.                     elseif($Start_pos_cache>$range_end_pos
  175.                         $rangeClean= 1; 
  176.                 } 
  177.                 /* here it is */ 
  178.                 if(!is_int($Begin_firstOccurence_pos)) 
  179.                     $Begin_firstOccurence_pos=$Start_pos_cache
  180.             }/* VIGA NR 0 ALGUST EI OLE */ 
  181.               
  182.             if(!is_int($Start_pos_cache)) { 
  183.                 /* !algus */ 
  184.     /* VIGA NR 1 ALGUSMARKI EI LEITUD : VIIMANE VOIMALIK ALGUS */ 
  185.     if(is_int($Begin_firstOccurence_pos)and($Start_pos_cache<$range_end_pos)) 
  186.                     $rangeClean= 1; 
  187.                 else 
  188.                     returnfalse; 
  189.             } 
  190.             if(is_int($Begin_firstOccurence_pos)and($rangeClean!= 1)) { 
  191.                 if(!is_int($End_pos_cache)) 
  192.                     $End_sequel_pos=$Begin_firstOccurence_pos
  193.                   
  194.                 $End_pos_cache=strpos($subject,$Endmark_str,$End_sequel_pos); 
  195.                   
  196.                 /* ok */ 
  197.                 if(is_int($End_pos_cache)and($rangeClean!= 1)) { 
  198.                     $range_current_lenght= ($End_pos_cache-$Begin_firstOccurence_pos); 
  199.                     $End_sequel_pos= ($End_pos_cache+$Endmark_str_len); 
  200.                     $range_end_pos=$End_pos_cache
  201.                 } 
  202.                 /* VIGA NR 2 LOPPU EI LEITUD */ 
  203.                 if(!is_int($End_pos_cache)) 
  204.                     if($End_pos_cache== false) 
  205.                         returnfalse; 
  206.             } 
  207.         }while($rangeClean< 1 ); 
  208.           
  209.         if(is_int($Begin_firstOccurence_pos)andis_int($range_current_lenght)) 
  210.             $Range=substr($subject,$Begin_firstOccurence_pos,$range_current_lenght); 
  211.         else 
  212.             returnfalse; 
  213.           
  214.         returnarray( 
  215.                 'range'=>$Range
  216.                 'begin'=>$Begin_firstOccurence_pos
  217.                 'end'=>$End_sequel_pos 
  218.         ); 
  219.     }// end getrange() 
  220. }// class 
  221. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清福利视频| 亚洲三级黄色在线观看| 日韩中文视频免费在线观看| 日韩最新中文字幕电影免费看| 亚洲国模精品私拍| 97福利一区二区| 久久视频免费观看| 国产一区二区三区中文| 日韩中文有码在线视频| 黑人精品xxx一区| 久久躁日日躁aaaaxxxx| 亚洲精品视频播放| 欧美激情精品久久久久久变态| 91po在线观看91精品国产性色| 久久精品视频网站| 亚洲成人免费网站| 国产精品久久精品| 日韩精品免费视频| 欧美黄色小视频| 日韩欧美成人精品| 亚洲欧洲在线播放| 精品久久久久久久久久国产| 欧美日韩国产第一页| 亚洲电影在线看| 久久香蕉精品香蕉| 91精品国产综合久久香蕉最新版| 在线亚洲午夜片av大片| 日本不卡免费高清视频| 国产女人18毛片水18精品| www.亚洲成人| 国产欧美一区二区三区在线看| 日韩精品在线观| 中文字幕亚洲欧美| 亚洲性av在线| 亚洲大胆人体视频| 国产在线精品播放| 久久激情视频免费观看| 亚洲黄色免费三级| 亚洲成色777777女色窝| 精品国产一区二区三区四区在线观看| 久久伊人91精品综合网站| 久久精品国产96久久久香蕉| 国内精品久久久久| 91久久久国产精品| 97久久精品人人澡人人爽缅北| 精品呦交小u女在线| 欧美另类在线观看| 69视频在线免费观看| 色www亚洲国产张柏芝| 色综合视频网站| 在线电影欧美日韩一区二区私密| 成人性生交大片免费观看嘿嘿视频| 国产综合在线看| 激情成人中文字幕| 精品久久久久久中文字幕一区奶水| 高跟丝袜一区二区三区| 性欧美暴力猛交69hd| 日韩精品有码在线观看| 中文综合在线观看| 久久久亚洲国产天美传媒修理工| 亚洲成年人在线| 成人亚洲综合色就1024| 日本国产精品视频| 久久精品99久久久久久久久| 精品亚洲男同gayvideo网站| 日本一区二区三区在线播放| 国产精品久久久久久久久久久新郎| 日韩精品视频中文在线观看| 日韩美女av在线| 亚洲a级在线观看| 精品久久久久久| 日韩高清中文字幕| 久久久精品2019中文字幕神马| 日韩成人在线电影网| 欧洲美女免费图片一区| 97超级碰在线看视频免费在线看| www.精品av.com| 国产成人精品久久二区二区| 97精品视频在线| 国产精品美女主播在线观看纯欲| 91精品久久久久久久久| 在线性视频日韩欧美| 久久久视频精品| 国内精品一区二区三区四区| 国产啪精品视频网站| 国产一区二区三区在线| 国产91av在线| 欧美精品久久久久a| 国产成人综合亚洲| 国产91露脸中文字幕在线| 日韩精品高清在线观看| 91国产在线精品| 久久精品国产综合| 日韩av在线天堂网| 中文字幕九色91在线| 国产午夜精品理论片a级探花| 欧美成人在线影院| 精品视频在线播放免| 午夜精品一区二区三区av| 色噜噜国产精品视频一区二区| 亚洲人成在线观| 日韩专区在线观看| 精品美女久久久久久免费| 中文字幕欧美日韩精品| 色综合视频网站| www.xxxx精品| 欧美贵妇videos办公室| 国产精品三级美女白浆呻吟| 欧美大秀在线观看| 久久精品91久久久久久再现| 欧美大人香蕉在线| 欧美国产日韩免费| 欧美日韩一二三四五区| 日韩在线观看免费网站| 亚洲人成网站色ww在线| 奇米四色中文综合久久| 在线观看日韩www视频免费| 精品国产依人香蕉在线精品| 日韩国产一区三区| 午夜精品福利视频| 亚洲精品一区在线观看香蕉| 色偷偷9999www| 亚洲精品日韩av| 日韩精品视频免费专区在线播放| 成人在线中文字幕| 欧美电影院免费观看| 国产成人一区二区三区电影| 国产做受高潮69| 一本一本久久a久久精品牛牛影视| 日韩电影在线观看永久视频免费网站| 久久在线免费视频| 亚洲字幕在线观看| 国产精品日韩在线观看| 亚洲成人黄色在线| 成人性生交大片免费看小说| 欧美贵妇videos办公室| 成人免费淫片视频软件| 国产精品视频专区| 国产精品久久久久一区二区| 欧美成人全部免费| 国产精品久久久久福利| 2021久久精品国产99国产精品| 亚洲女同精品视频| 韩国国内大量揄拍精品视频| 国产日韩亚洲欧美| 国产69精品久久久久99| 日韩欧美中文字幕在线播放| 久久久久五月天| 成人在线视频网站| 96精品久久久久中文字幕| 久久久久久久久综合| 国产一区二区三区在线视频| 高清在线视频日韩欧美| 懂色av中文一区二区三区天美| 国产网站欧美日韩免费精品在线观看| 成人欧美一区二区三区黑人| 日韩毛片在线看| 韩国福利视频一区| 国产在线一区二区三区| 国产一级揄自揄精品视频| 亚洲在线观看视频| 国语自产精品视频在线看抢先版图片| 国产精品成av人在线视午夜片| 国产主播在线一区|