繁体中文转换为简体中文的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的宝库目录--PEAR
Oct 09 PHP
随机头像PHP版
Oct 09 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
js下函数般调用正则的方法附代码
Jun 22 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
PHP基于面向对象封装的分页类示例
Mar 15 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 PHP
Laravel框架中缓存的使用方法分析
Sep 06 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
最省空间的计数器
2006/10/09 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
javascript document.referrer 用法
2009/04/30 Javascript
js输出列表实现代码
2010/09/12 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python 线程池用法简单示例
2019/10/02 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
项目计划书范文
2014/01/09 职场文书
学生打架检讨书大全
2014/01/23 职场文书
读书活动总结范文
2014/04/26 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
学雷锋的心得体会
2014/09/04 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
大学同学聚会感言
2015/07/30 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书