简体中文转换为繁体中文的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开源建站平台小结
Apr 22 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
php排序算法实例分析
Oct 17 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 PHP
php屏蔽错误及提示的方法
May 10 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP的FTP学习(三)
2006/10/09 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
高中毕业自我鉴定
2013/12/22 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
小学运动会前导词
2015/07/20 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书