| 广告招租,e-mail:yesize@hotmail.com
|
|
广告招租,e-mail:yesize@hotmail.com
<?php /** *中速版,中等内存使用,使用于一般需求或有大量重复字的大段文本 *@text:待转换的字符串 *@table_file:转换映射表文件名 */ function encode_trans1($text,$table_file=gb2big5) { $fp = fopen($table_file..table, "r"); $cache = array(); $max=strlen($text)-1; for($i=0;$i<$max;$i++) { $h=ord($text[$i]); if($h>=160) { $l=ord($text[$i+1]); if($h==161 && $l==64) { $text[$i]=" "; } else{ $cut = substr($text,$i,2); if(!$cache[$cut]) { fseek($fp,($h-160)*510+($l-1)*2); $cache[$cut] = fread($fp,2); } $text[$i] = $cache[$cut][0]; $text[++$i] = $cache[$cut][1]; } } } fclose($fp); return $text; }
/** *低速版,最低内存使用,使用于少量字符时 *@text:待转换的字符串 *@table_file:转换映射表文件名 */ function encode_trans2($text,$table_file=gb2big5) { $fp = fopen($table_file..table, "r"); $max=strlen($text)-1; for($i=0;$i<$max;$i++) { $h=ord($text[$i]); if($h>=160) { $l=ord($text[$i+1]); if($h==161 && $l==64) { $gb=" "; }else{ fseek($fp,($h-160)*510+($l-1)*2); $gb=fread($fp,2); } $text[$i]=$gb[0]; $text[$i+1]=$gb[1]; $i++; } } fclose($fp); return $text; } /** *高速版,最高内存使用,使用于大段文本时 *@text:待转换的字符串 *@table_file:转换映射表文件名 */ function encode_trans3($text,$table_file=gb2big5) { $fp = fopen($table_file..table, "r"); $str = fread($fp,strlen($table_file..table)); fclose($fp); $max=strlen($text)-1; for($i=0;$i<$max;$i++) { $h=ord($text[$i]); if($h>=160) { $l=ord($text[$i+1]); if($h==161 && $l==64) { $text[$i]= ; $text[++$i]= ; }else{ $pos = ($h-160)*510+($l-1)*2; $text[$i]=$str[$pos]; $text[++$i]=$str[$pos+1]; } } } return $text; } ?>
版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com |
|
热门小游戏分类 |
|
|
|