繁体中文转换为简体中文的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 清除网页病毒的方法
Dec 05 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
php显示时间常用方法小结
Jun 05 PHP
php递归实现无限分类的方法
Jul 28 PHP
php 多文件上传的实现实例
Oct 23 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
laravel中的fillable和guarded属性详解
Oct 23 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 object转数组示例
2014/01/15 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
javascript读取xml
2006/11/04 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
深入理解vuex2.0 之 modules
2017/11/20 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python2随机数列生成器简单实例
2017/09/04 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python实现KNN近邻算法
2020/12/30 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
中专毕业生自我鉴定范文
2013/11/09 职场文书
电信专业毕业生推荐信
2013/11/18 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
公司接待方案
2014/03/08 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
雷峰塔导游词
2015/02/09 职场文书
世界名著读书笔记
2015/06/25 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
React四级菜单的实现
2022/04/08 Javascript