简体中文转换为繁体中文的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 相关文章推荐
PHP UTF8编码内的繁简转换类
Jul 20 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
PHP实现多图片上传类实例
Jul 26 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
Laravel find in set排序实例
2019/10/09 PHP
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python实现装饰器、描述符
2018/02/28 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
生日寄语大全
2014/04/08 职场文书
爱晚亭导游词
2015/02/09 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python