打印本文 打印本文  关闭窗口 关闭窗口
?繁体转换的class
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 14:29:27
?是以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">
//<!--
.menufont {FONT-FAMILY: 新?明?; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: balck}
.frame_font {FONT-FAMILY: 新?明?; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: yellow}
.tablefont {FONT-FAMILY: 新?明?; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: .bodycolor {FONT-FAMILY: 新?明?; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: .num {FONT-FAMILY: Arial; font-weight:bold ; font-style: normal; FONT-SIZE: 8pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color:a { color: green ; TEXT-DECORATION: none }
a:hover { color: red ; }
//-->
</style>
";

echo
"<SCRIPT language=JavaScript>
<!--
if (document.images) {

img4on = new Image();
img4on.src="page_img/logo_2.gif";
img4off = new Image();
img4off.src="page_img/logo.gif";
}
function imgOn(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "on.src"); }}

function imgOff(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "off.src"); }}
//-->
</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 class='frame_font'>";
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 class='frame_font'>";
$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 &q

[1] [2]  下一页



打印本文 打印本文  关闭窗口 关闭窗口