当前位置:首页> PHP教程> php进阶
关键字
文章内容
终于实现简体转繁体,繁体到转体
 
 
修改时间:[2008/06/03 05:18]    阅读次数:[2061]    发表者:[起缘]
 
代码如下:
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>";


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
心得体会:其实简体->繁体 繁体->简体 的过程是一样的,只是使用的对应表不同,我一开始是被网页上输出来的字所误会了,其实是已经转换的了,看输出后的html代码就知道,害我浪费了那么多的时间,但搞出来心里还是很高兴