首頁  >  文章  >  後端開發  >  classified post 簡繁体转换的class

classified post 簡繁体转换的class

WBOY
WBOY原創
2016-07-29 08:34:371952瀏覽

這是以class包裝好的簡繁體轉換的class,
另外需要兩個table檔:
1. http://www.jerry.com.tw/php/big5.map
2. http://www.jerry.com.tw/php/gb.map
程式如下: CCharset.php3
//================ = ====================================
// 程式設計師: Magic Jerry
/ /
// function Big5_Gb($str) => big5轉GB for string
// function Gb_Big5($str) => GB轉Big5 for string
//===== === =============================================
class CCharset {
var $gb_map="gb.map"; //如果要放到別的路徑,要加上完整路徑
var $big5_map="big5.map"; //例如=" /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;
}
}
? >
============================================== =====================
使用範例:

// Designer: Magic Jerry
//====直接轉換文字字串的使用方法========
include("CCharset.php3");
$obj=new CCharset;
$big5="這是一個big5的文字字串";
$tgb=$obj->Big5_Gb($big5);
echo $tgb; //===> $tgb為轉換好的gb碼字串
$tbig5=$obj- >Gb_Big5($tgb);
echo $tbig5; // 又被轉回來了: big5
//====== ================== ================
?>

//如果直接轉換網頁或是檔案
// 語法http://your. domain.com.tw/這個程式.php3?http://要轉碼的網頁url或檔案
// example: 轉換奇摩首頁
// http://your.domain.com.tw/這個程式.php3?http://www.kimo.com.tw/index.shtml
// 注意: 以下寫法如遇到該網頁有使用cookie,例如認證user,可能會被踢回,login錯誤..
// 為什麼? 想想看... @_@
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);
$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";
$t=time();
echo "
< ;script language=javascript>
document.location='$url'

";
exit;
}
//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";
while (list ( $key, $val) = each ($HTTP_COOKIE_VARS)) {
//echo "$ key => $val
";
$url.="&".$key."=" .urlencode($val);
}
$fcontents = join( '', file( "$url" ) );
$code=new CCharset;
$fc
//echo "轉換過的 $CHAR_GB";
回顯$f內容;
退出;
}
//} else setcookie("CHAR_GB",0,time()+ 31536000);
echo "
";
include("hows.php3");
echo "

";
回顯「」;
echo "";
echo "」;
回顯「
";
echo "";
echo "
";
include("hows_2.php3");
回顯「
」;
回顯「」;
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 "」;
echo "”;
回顯“”;
echo "
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
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 "classified post 簡繁体转换的class";
回顯「
」;
} else {
if(strlen($QUERY_STRING))
echo "";
else echo "
";
echo "classified post 簡繁体转换的class";
回顯「
」;
}
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "";
echo "classified post 簡繁体转换的class";
回顯「
」;
回顯「
";
echo "注意:切換按鈕請勿連續按";
回顯“
";
回顯「」;
回顯「」;
echo "";
回顯「」;
回顯「」;
回顯「」;
echo "";
echo "classified post 簡繁体转换的class";
回顯「」;
回顯「」;
回顯「」;
回顯「”;
? > 

以上就介紹了分類貼文簡繁轉換的課程,包括分類貼文方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn