简体中文转换为繁体中文的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 相关文章推荐
Banner程序
Oct 09 PHP
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
php _autoload自动加载类与机制分析
Feb 10 PHP
PHP面向对象法则
Feb 23 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
Jun 21 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 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
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python简单区块链模拟详解
2019/07/03 Python
python 实现视频 图像帧提取
2019/12/10 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python爬虫可以爬什么
2020/06/16 Python
python基于opencv实现人脸识别
2021/01/04 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
工作表扬信的范文
2014/01/10 职场文书
市场营销毕业求职信
2014/08/07 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
高二化学教学反思
2016/02/22 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android