简体中文转换为繁体中文的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 ftp文件上传函数(基础版)
Jun 03 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php 目录与文件处理-郑阿奇(续)
Jul 04 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
php两种无限分类方法实例
Apr 21 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 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数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
php邮件发送的两种方式
2020/04/28 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Python 列表list使用介绍
2014/11/30 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Farah官方网站:男士服装及配件
2019/11/01 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
golang中的struct操作
2021/11/11 Golang