?繁体转换的class


Posted in PHP onOctober 09, 2006

?是以class包?好的?繁???Q的class,
另外需要???table?n:
1. http://www.jerry.com.tw/php/big5.map
2. http://www.jerry.com.tw/php/gb.map
程式如下: CCharset.php3

<? //=====================================================
// 程式?T: 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"; //如果要放到?e的路??要加上完整路?
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

//====直接??Q文字串 的使用方法========
include("CCharset.php3");
$obj=new CCharset;
$big5="?是一??big5的文字串";
$tgb=$obj->Big5_Gb($big5);
echo $tgb; //===> $tgb?檗D?Q好的gb?字串
$tbig5=$obj->Gb_Big5($tgb);
echo $tbig5; // 又被?回?砹? big5
//======================================
?>

<?
//如果直接??Q?? 或是?n案
// ?法 http://your.domain.com.tw/???程式.php3?http://要??的??url或?n案
// example: ??Q奇摩首?
// http://your.domain.com.tw/???程式.php3?http://www.kimo.com.tw/index.shtml
// 注意: 以下??法如遇到???有使用cookie,例如??user,可能??惶呋?login??..
// ?槭颤N? 想想看吧... @_@
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 "??Q?的 $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 "<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 "注意:切?Q??勿??按";
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实现网上点歌(二)
Oct 09 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
Mar 07 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
一个用于网络的工具函数库
Oct 09 #PHP
oracle资料库函式库
Oct 09 #PHP
针对初学PHP者的疑难问答(2)
Oct 09 #PHP
模仿OSO的论坛(三)
Oct 09 #PHP
在PHP3中实现SESSION的功能(一)
Oct 09 #PHP
我用php+mysql写的留言本
Oct 09 #PHP
在PHP3中实现SESSION的功能(三)
Oct 09 #PHP
You might like
Zend公司全球首推PHP认证
2006/10/09 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
ThinkPHP CURD方法之order方法详解
2014/06/18 PHP
浅谈PHP中的
2016/04/23 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
python树的同构学习笔记
2019/09/14 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
在keras中实现查看其训练loss值
2020/06/16 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
EJB面试题
2015/07/28 面试题
公共事业管理本科生求职信
2013/10/07 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
春季运动会开幕词
2015/01/28 职场文书
公司业务员管理制度
2015/08/05 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers