首页 >后端开发 >php教程 >如何用PHP做到即时简繁切换_PHP

如何用PHP做到即时简繁切换_PHP

WBOY
WBOY原创
2016-06-01 12:32:37846浏览

看到满多网站都有即时简繁切换的功能,只是都不见有人提供做法,因 此我也写了一段转换程式,给有需要的人参考:

以下程式所用的table档是a4chinese的big5-gb.table,其版权为a4chinese作者所有;PHP程式码部分则可自由修改应用,唯不得出售营利..^^

<br>1.先取得big5-gb.table档,你可在文章下面的链接找到.<br><br>
<br>
<br>2.加入下列PHP程式码:
<br><font color="#000080">
<br>function <font color="#007a00">big52gb</font>(<font color="#900000">$Text</font>){
<br>   <font color="#900000">$fp</font> = <font color="#007a00">fopen</font>("big5-gb.table", "r");
<br>
<br>   <font color="#900000">$max</font>=<font color="#007a00">strlen</font>(<font color="#900000">$Text</font>)-1;
<br>   <font color="#007a00">for</font>(<font color="#900000">$i</font>=0;<font color="#900000">$i</font>$max</font>;<font color="#900000">$i</font>++){
<br>      <font color="#900000">$h</font>=<font color="#007a00">ord</font>(<font color="#900000">$Text</font>[<font color="#900000">$i</font>]);
<br>      <font color="#007a00">if</font>(<font color="#900000">$h</font>>=160){
<br>         <font color="#900000">$l</font>=<font color="#007a00">ord</font>(<font color="#900000">$Text</font>[<font color="#900000">$i</font>+1]);
<br>         <font color="#007a00">if</font>(<font color="#900000">$h</font>==161 && <font color="#900000">$l</font>==64){
<br>            <font color="#900000">$gb</font>="  ";				
<br>         }<font color="#007a00">else</font>{
<br>            <font color="#007a00">fseek</font>(<font color="#900000">$fp</font>,(<font color="#900000">$h</font>-160)*510+(<font color="#900000">$l</font>-1)*2); 
<br>            <font color="#900000">$gb</font>=<font color="#007a00">fread</font>(<font color="#900000">$fp</font>,2);      
<br>         }
<br>         <font color="#900000">$Text</font>[<font color="#900000">$i</font>]=<font color="#900000">$gb</font>[0];
<br>         <font color="#900000">$Text</font>[<font color="#900000">$i</font>+1]=<font color="#900000">$gb</font>[1];
<br>         <font color="#900000">$i</font>++;
<br>      }
<br>   }
<br>   <font color="#007a00">fclose</font>(<font color="#900000">$fp</font>);
<br>   return <font color="#900000">$Text</font>;
<br>}
<br>
<br>
<br>


3.接著就可以用了

$a="繁体转简体";
$a=big52gb($a);



以上程式码是最简单的方法,也就是一个一个翻,至於速度 还可以,若要快点,那就要改写一下方法了(我不是用这种方法,不过因为我的方法还在测试中,还不知稳不稳定, 所以暂时没写出来)...^^

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn