找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1731|回复: 0
打印 上一主题 下一主题

簡繁体转换的class

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 09:41:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            這是以class包裝好的簡繁體轉換的class,
另外需要兩個table檔:
1. http://www.jerry.com.tw/php/big5.map
2. http://www.jerry.com.tw/php/gb.map
程式如下: CCharset.php3
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 $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 $this->dep_char) {
$outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
$i++;
} else {
$outstr.=substr($str,$i,1);
}
}
fclose ($fd);
return $outstr;
}
}
?>
===================================================================
使用範例:
Big5_Gb($big5);
echo $tgb; //===> $tgb為轉換好的gb碼字串
$tbig5=$obj->Gb_Big5($tgb);
echo $tbig5; // 又被轉回來了: big5
//======================================
?>
","", $fcontents);
$code=new CCharset;
$gb=$code->Big5_Gb($fcontents);
echo $gb;
?>
範例:
$val
";
$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 "
  

//

";
echo
"";
echo "";
include("hows.php3");
echo "";
echo "[TR]";
echo "[TD]";
echo "[TD]";
echo "";
echo "";
echo "";
echo "[url=]echo "onmouseout="('')" ";
echo "onmouseover="('')" ";
echo ">";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
include("hows_2.php3");
echo "";
echo "";
echo "";
echo "";
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 "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
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 "[url=]";
else echo "";
echo "
[img][/img]
";
echo "[/url]";
} else {
if(strlen($QUERY_STRING))
echo "[url=]";
else echo "";
echo "
[img][/img]
";
echo "[/url]";
}
echo "";
echo "";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";;
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "[url=]";
echo "
[img][/img]
";
echo "[/url]";
echo "";
echo "";
echo "注意:切換鈕請勿連續按";
echo "";
echo "";
echo "";
echo "";
echo "";
echo "";
echo "[/TD]";
echo "[/TR]";
echo "[TR]";
echo "[TD]";
echo "
[img][/img]
";
echo "[/TD]";
echo "[/TR]";
echo "[TR]";
echo "[TD]";
?>
            
            
        
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端