简体中文转换为繁体中文的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+DBM的同学录程序(3)
Oct 09 PHP
坏狼的PHP学习教程之第1天
Jun 15 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
Nov 10 PHP
浅析is_writable的php实现
Jun 18 PHP
php对称加密算法示例
May 07 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
Thinkphp单字母函数使用指南
May 08 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
Cookie跨域问题解决方案代码示例
Nov 24 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
php生成curl命令行的方法
2015/12/14 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python字符串匹配算法KMP实例
2015/07/18 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
python 模拟登陆github的示例
2020/12/04 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
办公室文员工作职责
2014/01/31 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
物流管理专业推荐信
2014/09/06 职场文书
主持人开幕词
2015/01/29 职场文书
汉字听写大会观后感
2015/06/12 职场文书
新郎结婚感言
2015/07/31 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书