繁体中文转换为简体中文的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获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
php+mysql分页代码详解
Mar 27 PHP
php 动态执行带有参数的类方法
Apr 10 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
async和DOM Script文件加载比较
Jul 20 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 PHP
浅谈如何提高PHP代码的质量
May 28 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
window.dialogArguments 使用说明
2011/04/11 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
Python解析xml中dom元素的方法
2015/03/12 Python
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
django框架模板语言使用方法详解
2019/07/18 Python
详解用python生成随机数的几种方法
2019/08/04 Python
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
什么是Remote Module
2016/06/10 面试题
建筑设计所实习生自我鉴定
2013/09/25 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
仓库管理计划书
2014/05/04 职场文书
企业挂职心得体会
2014/09/10 职场文书
档案接收函格式
2015/01/30 职场文书
地球一小时活动总结
2015/02/27 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
利用ajax+php实现商品价格计算
2021/03/31 PHP
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android