簡繁体转换的class
簡繁体转换的class
发布时间:2016-12-29 来源:查字典编辑
摘要:這是以class包裝好的簡繁體轉換的class,另外需要兩個table檔:1.http://www.jerry.com.tw/php/big...

這是以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<strlen($str);$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<strlen($str);$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" ) );

$fcontents=str_replace("<head>","<head><base 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'

</script>

";

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<br>";

$url.="&".$key."=".urlencode($val);

}

$fcontents = join( '', file( "$url" ) );

$code=new CCharset;

$fcontents=$code->Big5_Gb($fcontents);

//echo "轉換過的 $CHAR_GB";

echo $fcontents;

exit;

}

//} else setcookie("CHAR_GB",0,time()+ 31536000);

echo "

<meta http-equiv='Content-Type' content='text/html; charset=big5'>

<style type="text/css">

//<>

</style>

";

echo

"<SCRIPT language=JavaScript>

<>

</SCRIPT>";

echo "<body leftMargin=0 rightMargin=0 topMargin=0 marginwidth='0' marginheight='0'>";

include("hows.php3");

echo "<TABLE border=0 width=100% cellPadding=0 cellSpacing=0 >";

echo "<TR>";

echo "<TD bgcolor='

echo "<a href=http://www.jerry.com.tw/ >";

echo "<img src='page_img/left_logo.gif' border=0 alt='Welcome to www.jerry.com.tw'>";

echo "</a>";

echo "</TD>";

echo "<TD bgcolor='echo "<TABLE border=0 width=100% cellPadding=0 cellSpacing=0>";

echo "<tr>";

echo "<td width=200>";

echo "<TABLE border=0 width=100% cellPadding=0 cellSpacing=0 >";

echo "<tr><td>";

echo "<a href=index.php3 ";

echo "onmouseout="imgOff('img4')" ";

echo "onmouseover="imgOn('img4')" ";

echo ">";

echo "<IMG name=img4 SRC=page_img/logo.gif valign=top border=0>";

echo "</a>";

echo "</td></tr>";

echo "<tr><td align='center'>";

include("hows_2.php3");

echo "</td></tr>";

echo "</table>";

echo "</td>";

echo "<td valign=bottom>";

echo "<TABLE border=0 width=90% cellPadding=0 cellSpacing=0>";

$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 "<tr>";

echo "<td width=20% $tb>";

echo "<a href=nbbs.php3?proc=area&aid=3>";

echo "<img border=0 src=font.php3?str=PHP/Zend$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "<a href=nbbs.php3?proc=area&aid=9 >";

echo "<img border=0 src=font.php3?str=MySQL$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "<a href=nbbs.php3?proc=area&aid=4 >";

echo "<img border=0 src=font.php3?str=Linux$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "<a href=nbbs.php3?proc=area&aid=10 >";

echo "<img border=0 src=font.php3?str=範例程式$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

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 "<a href=$aurl&func=charset&GB=0>";

else echo "<a href=$aurl?func=charset&GB=0>";

echo "<img border=0 src=big5.gif>";

echo "</a>";

} else {

if(strlen($QUERY_STRING))

echo "<a href=$aurl&func=charset&GB=1>";

else echo "<a href=$aurl?func=charset&GB=1>";

echo "<img border=0 src=gb.gif>";

echo "</a>";

}

echo "</td>";

echo "</tr>";

echo "<tr>";

echo "<td $tb>";

echo "<a href=php_url.php3 >";

echo "<img border=0 src=font.php3?str=相關站台$fnt>";

echo "</a>";;

echo "</td >";

echo "<td $tb>";

echo "<a href=php_news.php3 >";

echo "<img border=0 src=font.php3?str=相關報導$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "<a href=singin.php3 >";

echo "<img border=0 src=font.php3?str=簽名留念$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "<a href=index.php3 >";

echo "<img border=0 src=font.php3?str=回首頁$fnt>";

echo "</a>";

echo "</td>";

echo "<td $tb>";

echo "注意:切換鈕請勿連續按";

echo "</td>";

echo "</tr>";

echo "</table>";

echo "</td>";

echo "</tr>";

echo "</table>";

echo "</TD>";

echo "</TR>";

echo "<TR >";

echo "<TD valign=top height='25'>";

echo "<IMG SRC=page_img/curve1.gif >";

echo "</TD>";

echo "</TR>";

echo "<TR>";

echo "<TD>";

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类