?繁体转换的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时间不正确的解决方法
Apr 09 PHP
PHP 上传文件大小限制
Jul 05 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 PHP
PHP实现简单注册登录系统
Dec 28 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
Oracle 常见问题解答
2006/10/09 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
php如何连接sql server
2015/10/16 PHP
php设计模式之单例模式代码
2016/06/11 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python算术运算符实例详解
2017/05/31 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
十八届三中全会报告学习材料
2014/02/17 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
拾金不昧感谢信
2015/01/21 职场文书
社区重阳节活动总结
2015/03/24 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
600字作文之感受大自然
2019/11/27 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技