繁体中文转换为简体中文的PHP函数


Posted in PHP onOctober 09, 2006

前几天我在oso论坛上问有没有这个源程序,没人回复。终于下定决心移植一个这样的函数,感谢网友Keyes提供移植用的Delphi源代码。其调用方式为$txt=big5togb($txt)。
    (注:源代码中的include "data_big5.php";这个文件在就是一个数组,在http://caocao.oso.com.cn/data_big5.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 isbig5($code)
{
  if (strlen($code)>=2)
  {
    $code=strtok($code,"");

    if (ord($code[0]) < 161)
    {
      return (0);
    }
    else
    {
      if (((ord($code[1]) >= 64)&&(ord($code[1]) <= 126))||((ord($code[1]) >= 161)&&(ord($code[1]) <= 254)))
      {
        return (1);
      }
      else
      {
        return (0);
      }
    }
  }
  else
  {
    return (0);
  }
}

function big5offset($code)
{
  if (strlen($code) >= 2)
  {
    $code=strtok($code,"");
    if ((ord($code[1]) >= 64)&&(ord($code[1]) <= 126))
    {
      return ((ord($code[0]) - 161) * 157 + (ord($code[1]) - 64));
    }
    if ((ord($code[1]) >= 161)&&(ord($code[1]) <= 254))
    {
      return ((ord($code[0]) - 161) * 157 + 63 + (ord($code[1]) - 161));
    }
  }
  return (-1);
}

function wordtostring($code)
{
  return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr($code,2,2))));
}

function big5togb($code)
{
  include "data_big5.php";
  $output="";
  $length=strlen($code);
  $code=strtok($code,"");
  $idx=0;
  while ($idx < $length)
  {
    $tmpStr=$code[$idx].$code[$idx+1];

    if (isbig5($tmpStr))
    {
      $offset=big5offset($tmpStr);
      if (($offset >= 0)||($offset <= 14757))
      {
        $output.=wordtostring($big5order[$offset]);
        $idx++;
      }
      else
      {
        $output.= $code[$idx];
      }
    }
    else
    {
      $output.= $code[$idx];
    }
    $idx++;
  }
  return ($output);
}
?>  

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
Apr 12 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
for循环连续求和、九九乘法表代码
Feb 20 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
Yii框架登录流程分析
Dec 03 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
phalcon框架使用指南
Feb 23 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
简体中文转换为繁体中文的PHP函数
Oct 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
You might like
PHP数组交集的优化代码分析
2011/03/06 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python中的set实现不重复的排序原理
2018/01/24 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python tornado修改log输出方式
2019/11/18 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
销售代表求职自荐信
2013/10/01 职场文书
学生党员思想汇报
2013/12/28 职场文书
普通员工辞职信
2014/01/17 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
员工评语范文
2014/12/31 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
python图像处理 PIL Image操作实例
2022/04/09 Python
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis