classified post class converted from Simplified to Traditional Chinese
WBOY
Release: 2016-07-29 08:34:37
Original
2007 people have browsed it
This is a class packaged in Simplified and Traditional Chinese. Another two table files are needed: 1. http://www.jerry.com.tw/php/big5.map 2. http://www. jerry.com.tw/php/gb.map The program is as follows: CCharset.php3 //========================== =========================== // Programmer: Magic Jerry // // function Big5_Gb($str) => big5 to GB for string // function Gb_Big5($str) => GB to Big5 for string //========================== ============================ class CCharset { var $gb_map="gb.map"; //If you want to put it elsewhere To the path, add the complete path var $big5_map="big5.map"; //For example="/home/table/gb.map var $dep_char = 127; //-------- -------------------------------------------------- ------- function cbig5_gb($str,$fd) { $c=ord(substr($str,0,1)); $x=ord(substr($str,1,1) ); $address=(($c-160)*510)+($x-1)*2; fseek($fd, $address); $hi=fgetc($fd); $lo= fgetc($fd); return "$hi$lo"; } function cgb_big5($str,$fd) { $c=ord(substr($str,0,1)); $x=ord (substr($str,1,1)); $address=(($c-160)*510)+($x-1)*2; fseek($fd, $address); $hi= fgetc($fd); $lo=fgetc($fd); return "$hi$lo"; } //-------------------------- ------------------------------------------------ function Big5_Gb($ str) { $fd = fopen ($this->gb_map, "r"); $str=str_replace("charset=big5","charset=gb2312", $str); $outstr=""; for($i=0;$i$ch=ord(substr($str,$i,1)); if($ch > $this-> ;dep_char) { $outstr.=$this->cbig5_gb(substr($str,$i,2),$fd); $i++; } else { $outstr.=substr($str,$ i,1); } } fclose ($fd); return $outstr; } //------------------------ ---------------------------------------- function Gb_Big5($str) { $fd = fopen ($this->big5_map, "r"); $str=str_replace("charset=gb2312","charset=big5", $str); $outstr=""; for($ i=0;$i$ch=ord(substr($str,$i,1)); if($ch > $this->dep_char) { $outstr.=$this->cgb_big5(substr($str,$i,2),$fd); $i++; } else { $outstr.=substr($str,$i,1) ; } } fclose ($fd); return $outstr; } } ?> ======================== =========================================== Usage example: < ? // Designer: Magic Jerry //====How to directly convert text string======== include("CCharset.php3"); $obj=new CCharset; $big5 "This is a big5 text string"; $tgb=$obj->Big5_Gb($big5); echo $tgb; //===> $tgb is the converted gb code string $ tbig5=$obj->Gb_Big5($tgb); echo $tbig5; // transferred back: big5 //==================== ================== ?>
//If you convert web pages or files directly // Syntax http://your.domain.com. tw/This program.php3?http://Web page URL or file to be transcoded // example: Convert QIMO homepage // http://your.domain.com.tw/This program.php3?http:/ /www.kimo.com.tw/index.shtml // Note: If the following writing method is encountered and the webpage uses cookies, such as authenticating the user, it may be kicked back and cause a login error.. // Why? Think about it Well... @_@ include("CCharset.php3"); $file=$QUERY_STRING; $fcontents = join( '', file( "$file" ) ); $fc href=$file> ", $fcontents); $code=new CCharset; $gb=$code->Big5_Gb($fcontents); echo $gb; ?> Example:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn