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

原创 2006年06月10日 11:08:00
前几天我在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类UTF8编码内的繁简转换-繁体-简体

均只支持 UTF8 文本,所以如果获得的来源是  $_GET 的话, 就有必要转换一下编码了。用到的函数是: Java代码   $str = $_GET['str'];   ...
  • Meseal
  • Meseal
  • 2016年06月23日 15:51
  • 7622

php中的汉字转化为拼音,简繁体转化

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • daxia_85
  • daxia_85
  • 2016年11月21日 18:16
  • 1583

使用 cconv 转换简体中文和繁体中文

书写文档时有时需要做简体中文(zh-CN)和繁体中文(zh-TW,zh-HK)之间的转换,iconv 只能实现编码的转换,但不能实现简繁中文词汇的转换,比如: 1、本来不同意义的文字在简体中文里被合...
  • darennet
  • darennet
  • 2013年06月02日 23:21
  • 2516

Python 繁体中文与简体中文相互转换

工作中需要将繁体中文转换成简体中文 上网找了些资料,发现这个包最方便安装方法不需要什么安装方法,只需要把这两个文件下载下来,保存到与代码同一目录下即可 https://raw.githubuse...
  • wds2006sdo
  • wds2006sdo
  • 2016年12月12日 15:31
  • 6511

Linux下在程序中如何进行繁体中文和简体中文的转换

Linux下在程序中如何进行繁体中文和简体中文的转换 欢迎转载,转载请注明作者RunningOn 20111019     首先发个牢骚吧,简繁转换的问题让我在网上搜了好久都没有好的答案,得...
  • darennet
  • darennet
  • 2013年06月02日 23:19
  • 1619

Linux下在程序中如何进行繁体中文和简体中文的转换

此文章转自他人,只是为了方便自己整理资料以及大家共同进步而发布。 转载自: http://hi.baidu.com/runningon/item/7acd387eddb5aa346cc37ce4  ...
  • baiwan111
  • baiwan111
  • 2014年03月29日 09:13
  • 1305

Android获取系统语言(区分简体中文和繁体中文) .

之前做android应用时遇到过一个问题,就是根据语言的不同而显示不同的内容 网上很多代码都是错误的,起码无法区分简体和繁体,这里给出一种方法 不涉及android任何知识,所以就归类到j...
  • za143567229za
  • za143567229za
  • 2014年03月11日 15:05
  • 4337

九图鸡汤(从繁体中文翻译为简体中文)

看完这9张图,一定会发现,你已经对人生有新的体悟,让你的人生从此不同...开始啰~ 1.一个人的素质体现在他对一个服务员的态度上。 2.没有人是生下来就懂得歧视。 3.很久很久以前...
  • stereohomology
  • stereohomology
  • 2015年04月18日 08:05
  • 983

java获取系统语言(区分简体中文和繁体中文) .

之前做android应用时遇到过一个问题,就是根据语言的不同而显示不同的内容 网上很多代码都是错误的,起码无法区分简体和繁体,这里给出一种方法 不涉及android任何知识,所以就归类到j...
  • YUZHIBOYI
  • YUZHIBOYI
  • 2012年10月10日 20:16
  • 1499

java获取系统语言(区分简体中文和繁体中文)

之前做android应用时遇到过一个问题,就是根据语言的不同而显示不同的内容 网上很多代码都是错误的,起码无法区分简体和繁体,这里给出一种方法 不涉及android任何知识,所以就归类到j...
  • su1216
  • su1216
  • 2012年09月12日 18:50
  • 12046
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:繁体中文转换为简体中文的PHP函数
举报原因:
原因补充:

(最多只允许输入30个字)