繁体转换的class
2015-01-24信息快讯网
另外需要tablen:
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) => big5DGB for string
// function Gb_Big5($str) => GBDBig5 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
//====直接DQ文字串 的使用方法========
include("CCharset.php3");
$obj=new CCharset;
$big5="@是一big5的文字串";
$tgb=$obj->Big5_Gb($big5);
echo $tgb; //===> $tgb檗DQ好的gba字串
$tbig5=$obj->Gb_Big5($tgb);
echo $tbig5; // 又被D回砹: big5
//======================================
?>
<?
//如果直接DQW 或是n案
// Z法 http://your.domain.com.tw/@程式.php3?http://要Da的Wurl或n案
// example: DQ奇摩首
// http://your.domain.com.tw/@程式.php3?http://www.kimo.com.tw/index.shtml
// 注意: 以下法如遇到W有使用cookie,例如JCuser,可能被踢回,logine`..
// 槭颤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 "DQ^的 $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: 新明w; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: balck}
.frame_font {FONT-FAMILY: 新明w; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: yellow}
.tablefont {FONT-FAMILY: 新明w; FONT-SIZE: 9pt; LETTER-SPACING: 1pt; TEXT-DECORATION: none ; color: .bodycolor {FONT-FAMILY: 新明w; 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=相P站台$fnt>";
echo "</a>";;
echo "</td >";
echo "<td $tb>";
echo "<a href=php_news.php3 >";
echo "<img border=0 src=font.php3?str=相P$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 "注意:切Qo勿Bm按";
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调用Oracle存储过程的方法
php include,include_once,require,require_once
php查看session内容的函数
推荐学习php sesson的朋友必看PHP会话(Session)使用入门第1/2页
用PHP读取RSS feed的代码
php include的妙用,实现路径加密
PHP4中session登录页面的应用
flash+php+mysql打造简单留言本教程第1/3页
discuz Passport 通行证 整合笔记
用php+javascript实现二级级联菜单的制作
require(),include(),require_once()和include_once()区别
Discuz! Passport 通行证整合
php str_replace的替换漏洞
asp和php下textarea提交大量数据发生丢失的解决方法
set_include_path在win和linux下的区别
Http 1.1 Etag 与 Last-Modified提高php效率
php a simple smtp class
PHP+FLASH实现上传文件进度条相关文件 下载
针对初学PHP者的疑难问答(1)
一个用于网络的工具函数库
oracle资料库函式库
在PHP3中实现SESSION的功能(一)
在PHP3中实现SESSION的功能(三)
在PHP3中实现SESSION的功能(二)
用session做客户验证时的注意事项
PHP与javascript的两种交互方式
PHP+javascript模拟Matrix画面
对javascript和select部件的结合运用
用PHP和ACCESS写聊天室(九)
利用PHP实现与ASP Banner组件相似的类
PHP VS ASP
用Flash图形化数据(一)
用Flash图形化数据(二)
利用php来自动调用不同服务器上的flash
如何在PHP中使用Oracle数据库(6)
如何在PHP中使用Oracle数据库(5)
如何在PHP中使用Oracle数据库(4)
如何在PHP中使用Oracle数据库(3)
用libtemplate实现静态网页生成
PHP_Flame(Version:Progress)的原代码