简体中文转换为繁体中文的PHP函数


Posted in PHP onOctober 09, 2006

感谢网友Keyes提供移植用的Delphi源代码。其调用方式为$txt=gbtobig5($txt)。
    (注:源代码中的include "data_gb.php";这个文件在就是一个数组,在http://caocao.oso.com.cn/data_gb.zip,请编辑下载到oso上,做一个链接,因为这个文件我过几天就要删除了。)

<?
/***********************************************************************
                       Written by caocao
                       caocao@eastday.com
                       http://caocao.oso.com.cn

                       With the help of Keyes
                       Keyes2000@263.net
                       http://my-wjl.scu.edu.cn/~Keyes
***********************************************************************/
function isgb($code)
{
  if (strlen($code)>=2)
  {
    $code=strtok($code,"");
    if ((ord($code[0]) < 161)||(ord($code[0]) >= 247))
    {
      return (0);
    }
    else
    {
      if ((ord($code[1]) <= 161)||(ord($code[1]) >= 254))
      {
        return (0);
      }
      else
      {
        return (1);
      }
    }
  }
  else
  {
    return (1);
  }
}

function gboffset($code)
{
  if (strlen($code) >= 2)
  {
    $code=strtok($code,"");
    return ((ord($code[0]) - 161) * 94 + (ord($code[1]) - 161));
  }
  else
  {
    return(-1);
  }
}

function wordtostring($code)
{
  return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr($code,2,2))));
}

function gbtobig5($code)
{
  include "data_gb.php";
  $output="";
  $length=strlen($code);
  $code=strtok($code,"");
  $idx=0;
  while ($idx < $length)
  {
    $tmpStr=$code[$idx].$code[$idx+1];

    if (isgb($tmpStr))
    {
      $offset=gboffset($tmpStr);
      if (($offset >= 0)||($offset <= 8177))
      {
        $output.=wordtostring($gborder[$offset]);
        $idx++;
      }
      else
      {
        $output.= $code[$idx];
      }
    }
    else
    {
      $output.= $code[$idx];
    }
    $idx++;
  }
  return ($output);
};
?>  

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
模拟xcopy的函数
Oct 09 PHP
PHP产生随机字符串函数
Dec 06 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
php UBB 解析实现代码
Nov 27 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
模仿OSO的论坛(四)
Oct 09 #PHP
二十行语句实现从Excel到mysql的转化
Oct 09 #PHP
一个颜色轮换的简单例子
Oct 09 #PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 #PHP
定制404错误页面,并发信给管理员的程序
Oct 09 #PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 #PHP
使用字符串函数输出整数化的PHP版本号
Oct 09 #PHP
You might like
yii2.0实现创建简单widgets示例
2016/07/18 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
Smarty模板配置实例简析
2019/07/20 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
JavaScript函数详解
2014/11/17 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Pyhton中防止SQL注入的方法
2015/02/05 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
个人党性剖析材料
2014/02/03 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
中国好声音华少广告词
2014/03/17 职场文书
倡议书格式
2014/04/14 职场文书
个人党性锻炼总结
2015/03/05 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
科普 | 业余无线电知识-波段篇
2022/02/18 无线电
无线电通信名词解释
2022/02/18 无线电
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技