?繁体转换的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配置心得包含MYSQL5乱码解决
Nov 20 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
php中的三元运算符使用说明
Jul 03 PHP
PHP 第一节 php简介
Apr 28 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
PHP获取文件行数的方法
Jun 10 PHP
ThinkPHP路由详解
Jul 27 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 PHP
php操作redis数据库常见方法实例总结
Feb 20 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
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
Stop SQL Server
2007/06/21 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
python 从远程服务器下载东西的代码
2013/02/10 Python
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
python Django批量导入数据
2016/03/25 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
结束运行python的方法
2020/06/16 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
院药学专业个人求职信
2013/09/21 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
师德师风个人反思
2014/04/28 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
八达岭长城导游词
2015/01/30 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书