简体中文转换为繁体中文的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数据库开发知多少
Oct 09 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
Smarty分页实现方法完整实例
May 11 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
php中关于换行的实例写法
Sep 26 PHP
基于PHP实现生成随机水印图片
Dec 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 基础教程(四)
2006/10/09 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
javascript中的this详解
2014/12/08 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python使用MONGODB入门实例
2015/05/11 Python
快速入手Python字符编码
2016/08/03 Python
python简单实现获取当前时间
2016/08/27 Python
python读取xlsx的方法
2018/12/25 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
在django模板中实现超链接配置
2019/08/21 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
2014年保洁工作总结
2014/11/24 职场文书
工地食品安全责任书
2015/05/09 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
同学聚会感言一句话
2015/07/30 职场文书
2016年国培研修日志
2015/11/13 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python