ホームページ >php教程 >php手册 >簡体字中国語から繁体字中国語に変換されたクラス

簡体字中国語から繁体字中国語に変換されたクラス

WBOY
WBOYオリジナル
2016-06-21 09:02:52995ブラウズ
これは簡体字中国語と繁体字中国語でパッケージ化されたクラスです。
さらに 2 つのテーブル ファイルが必要です。
1. http://www.jerry.com.tw/php/big5.map
2 . http://www.jerry.com.tw/php/gb.map
プログラムは次のとおりです: CCharset.php3

< //========= = ===========================================
// プログラマー: マジックジェリー
//
// function Big5_Gb($str) => 文字列
の big5 への変換// 文字列
の GB への Big5 への関数 Gb_Big5($str) / / ================================================= ====
class CCharset {

var $gb_map="gb.map" // 別のパスに配置する場合は、完全なパスを追加します
var $big5_map=" big5 .map"; //例="/home/table/gb.map

var $dep_char = 127;


//-------- -------------------------------------------------- -- -----
関数 cbig5_gb($str,$fd) {

$c=ord(substr($str,0,1)); substr( $str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd, $address); 🎜> $hi=fgetc($fd);
$lo=fgetc($fd);
return "$hi$lo";

関数 cgb_big5($str, $fd ) {
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1)); $c -160)*510)+($x-1)*2;
fseek($fd, $address);
$lo=fgetc( $fd );
return "$hi$lo"
}

//---------------------- - --------------------------------------
関数 Big5_Gb($str) {
$fd = fopen ($this->gb_map, "r");
$str=str_replace("charset=big5","charset=gb2312", $str); = "";
for($i=0;$i$ch=ord(substr($str,$i,1)); if ($ch > $this->dep_char) {
$outstr.=$this->cbig5_gb(substr($str,$i,2),$fd); 🎜 >
} else {
$outstr.=substr($str,$i,1);
}
}
fclose ($fd);
}
//----------------------------------------------------- ---- -----------------------
function Gb_Big5($str) {
$fd = fopen ($this->gt; big5_map, "r ");
$str=str_replace("charset=gb2312","charset=big5", $str);
$outstr=""; $i$ch=ord(substr($str,$i,1));
if($ch > $this->dep_char) {
$ outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
$i++;
$outstr. =substr($ str,$i,1);
}
}
fclose ($fd)
return $outstr;

}
?

============================== ====== =========================
使用例:

// デザイナー:マジックジェリー


//====文字列を直接変換する方法========
include("CCharset.php3");
$obj=new CCharset;
$big5="これは big5 の文字列です"; tgb は変換された 1 GB コード文字列です
$tbig5=$obj->Gb_Big5($tgb); // 再度返されます: big5
//======= = ==============================
?>




//Web ページまたはファイルを直接変換する場合
// 構文 http://your.domain.com.tw/thisprogram.php3?http://Web ページの URL をトランスコードしますまたは ファイル
// 例: Kimo ホームページの変換
// http://your.domain.com.tw/thisprogram.php3?http://www.kimo.com.tw/index.shtml
// 注: 次の記述方法がユーザーの認証など、Cookie を使用する Web ページに遭遇すると、キックバックされ、ログイン エラーが発生する可能性があります... @_@
include("CCharset.php3");
$file=$QUERY_STRING;
$fcontents = join( '', file( "$file" ) ); ;head> ;","", $fcontents);
$code=new CCharset;
$gb=$code->Big5_Gb($fcontents);
echo $gb;
?>



例:

if($func=="charset ") {
setcookie("CHAR_GB",$GB,time()+ 31536000);
$t=time();
$url="http://".$HTTP_HOST.$PHP_SELF ." ?".$QUERY_STRING;
$url=str_replace("?func=charset&GB=1","", $url);
$url=str_replace("?func=charset&GB=0"," ", $url);
$url=str_replace("&func=charset&GB=1","", $url);
$url=str_replace("&func=charset&GB=0","", $url) );
//echo $url;
//echo "SET to Charset = $CHAR_GB";
echo "

";

終了;
}
//phpinfo();
if ($ CHAR_GB==1 && !$istran ) {
include("CCharset.php3")
if(strlen($QUERY_STRING)) $url="http://".$HTTP_HOST.$PHP_SELF ." ?".$QUERY_STRING."&istran=1";
else $url="http://".$HTTP_HOST.$PHP_SELF."?istran=1"; ($ key, $val) = each ($HTTP_COOKIE_VARS)) {
//echo "$key => $val
";
$url.="&".$key."= ".urlencode($val);
}

$fcontents = join( '', file( "$url" ) );
$code=new CCharset;
$fcontents= $code ->Big5_Gb($fcontents);
//echo "変換された $CHAR_GB";
exit;
}
//} else setcookie("CHAR_GB",0,time()+ 31536000);
echo "



echo
"";

echo "";
include("hows.php3");
echo "";
エコー "";
echo "";
echo "";
エコー "";
エコー "";

エコー "";
エコー "
";
echo "";

echo "
" ;
エコー "
";
echo "";
エコー "";
echo "";
エコー "
";
エコー "エコー " ";
エコー " ";
エコー ">";
echo "" ;
エコー "
";
エコー "
";
include("hows_2.php3");
エコー "
";
エコー "
";
echo "";
$tb=" width=20% height=18 align=left ";
$fnt="&sz=18&cr=231&cg=255&cb=123&br=102&bg=153&bb=153&sh=1";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";
エコー "";

エコー "";
エコー "";
エコー "";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
if(strlen($QUERY_STRING)) $aurl="http://".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING;
else $aurl="http://".$HTTP_HOST.$PHP_SELF;
$aurl=str_replace("?CHAR_GB=1","", $aurl);
$aurl=str_replace("?CHAR_GB=0","", $aurl);
$aurl=str_replace("&CHAR_GB=1","", $aurl);
$aurl=str_replace("&CHAR_GB=0","", $aurl);
if(isset($CHAR_GB) && $CHAR_GB==1) {
if(strlen($QUERY_STRING))
echo "";
else echo "
";
echo "";
エコー "
";
} else {
if(strlen($QUERY_STRING))
echo "";
else echo "
";
echo "";
エコー "
";
}
エコー "
";
echo "";
echo "";
エコー "
";;
エコー "
";
エコー "";
echo "";
エコー "
";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
echo "";
echo "";
エコー "
";
エコー "
";
echo "注意:切換鈕請勿連續按";
エコー "
";
エコー "
";
エコー "";

エコー "";
エコー「」;
echo "";
echo "";
エコー "";
エコー "";
エコー " ";
エコー "";

?> 



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。