喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: 终于实现简体转繁体,繁体到转体  
 
taomyname (taomyname)
金牌会员
Rank: 6Rank: 6
资深会员



UID 12615
精华 0
积分 1350
帖子 1343
金钱 1350 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2002-2-1
来自 From Guangzhou
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
终于实现简体转繁体,繁体到转体

代码如下:
function gb2big5($Text){   
   $fp = fopen("gb-big5.table", "r");   
   $max=strlen($Text)-1;   
   for($i=0;$i<$max;$i++){
$h=ord($Text[$i]);
if($h>=160){   
$l=ord($Text[$i+1]);   
if($h==161 && $l==64){   
   $gb=" ";  
}else{   
   fseek($fp,($h-160)*510+($l-1)*2);   
   $gb=fread($fp,2);   
}   
      $Text[$i]=$gb[0];   
      $Text[$i+1]=$gb[1]; $i++;   
   }   
}  
fclose($fp);   
return $Text;  
}
/**************简体转繁体 end******************/

/**************繁体转简体 start******************/
function big52gb($Text){
   $fp = fopen("big5-gb.table", "r");
   $max=strlen($Text)-1;
   for($i=0;$i<$max;$i++){
   $h=ord($Text[$i]);
   if($h>=160){
   $l=ord($Text[$i+1]);
   if($h==161 && $l==64){
   $gb=" ";
   }else{
   fseek($fp,($h-160)*510+($l-1)*2);
   $gb=fread($fp,2);
   }
   $Text[$i]=$gb[0];
   $Text[$i+1]=$gb[1];
   $i++;
   }
   }
   fclose($fp);
   return $Text;
  }
/**************繁体转简体 end******************/

测试:

if(isset($_POST["rrff"])){

echo "<a href=big2togb.php>back</a><br>";
echo big52gb($_POST[a]);
if($query) echo "OK";

}
else {
echo "<meta http-equiv=Content-Type content=text/html; charset=big5>";
echo "<form action=\"big2togb.php\" method=\"post\">";
echo "<textarea name=a cols=80 rows=20></textarea>";
echo "<input type=submit name=rrff value=big5-gb>";
echo "</form>";
}


心得体会:其实简体->繁体 繁体->简体 的过程是一样的,只是使用的对应表不同,我一开始是被网页上输出来的字所误会了,其实是已经转换的了,看输出后的html代码就知道,害我浪费了那么多的时间,但搞出来心里还是很高兴

两个table文件请下载
2004-5-15 05:42 PM#1
查看资料  访问主页  发短消息  顶部
 
zeying
注册会员
Rank: 2
老会员



UID 14811
精华 1
积分 147
帖子 747
金钱 137 喜悦币
威望 10
人脉 0
阅读权限 20
注册 2002-6-15
来自 天津工作ing...
状态 离线
[广告]: 代充Paypal帐号美元
http://www.phpx.com/happy/thr66370.html

look一下这个,很强大的说




QQ:6652898
MSN:anerg#msn.com
2004-5-15 05:45 PM#2
查看资料  访问主页  Blog  发短消息  顶部
 
taomyname (taomyname)
金牌会员
Rank: 6Rank: 6
资深会员



UID 12615
精华 0
积分 1350
帖子 1343
金钱 1350 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2002-2-1
来自 From Guangzhou
状态 离线
[推荐阅读] 一个页面,如何防止被嵌入一个帧中打开
再说明一下:
如果是需要整个网页输出的是简体,可以利用PHP提供的ob_start()函数实现

如:
<?
ob_start("gb2big5");  //
echo "<meta http-equiv=Content-Type content=text/html; charset=big5>";
echo "中国";
//那么在网页上将会看到“中國”
ob_end_flush();
?>
2004-5-15 05:45 PM#3
查看资料  访问主页  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023776 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP