これは、簡体字中国語と繁体字中国語でパッケージ化されたクラスです。
さらに 2 つのテーブル ファイルが必要です。
1. http://www.jerry. com.tw/php/gb.map
プログラムは次のとおりです: CCharset.php3
/======================== = ===========================
// プログラマー: Magic Jerry
//
// function Big5_Gb($str) => big5 から文字列の GB へ
// function Gb_Big5($str) => 文字列の GB から Big5 へ
//================== = ============================
class CCharset {
var $gb_map="gb.map";別の場所に置きます パスに完全なパスを追加します
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) );
$アドレス=(($c-160)*510)+($x-1)*2;
$hi=fgetc($fd);
$lo= fgetc($fd);
return "$hi$lo";
function cgb_big5($str,$fd) {
$c=ord($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);
「$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); else {
$outstr.=substr($str,$ i,1);
}
}
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($str,$i,1); $ch > $this->dep_char) {
$outstr.=$this->cgb_big5(substr($str,$i,2),$fd); .=substr($str,$i,1) ;
}
}
$outstr;
}
?> ============ ===================================== =====
使用例:
<
// デザイナー: Magic Jerry
//====文字列を直接変換する方法========
include("CCharset.php3") ;
$obj=new CCharset;
$big5 "これは big5 テキスト文字列です";
echo $tgb;変換された GB コード文字列
$ tbig5=$obj->Gb_Big5($tgb);
echo $tbig5; // 返される: big5
//=============== ==== =================
?>?
//Web ページまたはファイルを直接変換する場合
// 構文 http://your .domain.com. tw/このプログラム.php3?http://トランスコードする Web ページの URL またはファイル
// 例: QIMO ホームページを変換します
// http://your.domain.com.tw/このプログラム。 php3?http://www.kimo.com.tw/index.shtml
// 注: 次の記述メソッドが発生し、Web ページでユーザーの認証など Cookie が使用されている場合、キックバックされてログインが発生する可能性があります。エラー。
// 考えてみてください... @_@
include("CCharset.php3");
$file=$QUERY_STRING;
$fcontents = join( '', file( "$file") ) );
$fc href=$file> ", $fcontents);
$code=new CCharset;
$gb=$code->Big5_Gb($fcontents);
echo $gb;
?>
例:
if($func= ="charset") {
setcookie("CHAR_GB",$GB,time()+ 31536000);
$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";
";
終了 ;
}
//phpinfo();
if($CHAR_GB==1 && !$istran ) {
include("CCharset.php3");
if(strlen( $QUERY_STRING)) $url="http:// /".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING."&istran=1"; PHP_SELF."?istran=1";
while ( list ($key, $val) = each ($HTTP_COOKIE_VARS)) {
//echo "$key => $val
"; "&".$key."=".urlencode ($val);
$fcontents = join( '', file( "$url" ) );
$code=新しいCCharset;
$fc
//echo "轉換過的 $CHAR_GB";
$fcontents をエコー;
終了;
}
//} else setcookie("CHAR_GB",0,time()+ 31536000);
echo "
";
include("hows.php3");
echo "";
エコー "";
echo ""; echo ""; echo " | ";
echo ""; include("hows_2.php3"); echo " |
";
echo "
";
エコー "";
echo ""; echo ""; $tb="幅=20%高さ=18整列=左"; $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 ""; 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 " "; エコー " | ";
エコー "";
echo "";
エコー "";
エコー "";
エコー「」;
echo ""; echo ""; エコー " | ";
エコー "
";
エコー "
";
エコー「」; ?>
以上は、機密投稿の簡体字変換のクラスを介しており、機密投稿の側面のコンテンツが含まれており、PHP 教則に興味のある友人の助けになることを望んでいます。
|