电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> PHP>>繁体中文转简体中文的PHP函数:

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

来源:网络 | 2007-10-22 | (有4212人读过)

前几天我在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热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号