求教:请问如何用PHP将文本文件中的繁体转为简体,(急) 我不知道利用PHP怎么解决,我只知道word很方便~:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO: xuzuningFM: 贴主我意思是,我有一个时刻在更新的文本文件,但其内容是繁体,但我输出到网页一定要为简体,请问如何用PHP实现,谢谢。 <?/**** 繁体<==>简体 ****//** 码表的取得: http://netcity.hinet.net/kstchieh/table.zip 包中有两个文件:big5-gb.table,gb-big5.table 函数gb2big5由于没有big5环境,故未能详细测试*/// 将码表预装入内存$filename = "big5-gb.table";$fp = fopen($filename, "rb");$big5 = fread($fp,filesize($filename));fclose($fp);$filename = "gb-big5.table";$fp = fopen($filename, "rb");$gb = fread($fp,filesize($filename));fclose($fp);/** Big5码转换成GB码*/function big52gb($Text) { global $big5; $max = strlen($Text)-1; for($i=0;$i<$max;$i++) { $h = ord($Text[$i]); if($h>=160) { $l = ord($Text[$i+1]); if($h==161 && $l==64) { $gb = " "; }else{ $p = ($h-160)*510+($l-1)*2; $gb = $big5[$p].$big5[$p+1]; } $Text[$i] = $gb[0]; $Text[$i+1] = $gb[1]; $i++; } } return $Text;}/** GB码转换成Big5码*/function gb2big5($Text) { global $gb; $max = strlen($Text)-1; for($i=0;$i<$max;$i++) { $h = ord($Text[$i]); if($h>=160) { $l = ord($Text[$i+1]); if($h==161 && $l==64) { $big = " "; }else{ $p = ($h-160)*510+($l-1)*2; $big = $gb[$p].$gb[$p+1]; } $Text[$i] = $big[0]; $Text[$i+1] = $big[1]; $i++; } } return $Text;}?><?/**** 测试 ****/if($Submit) {$a = "啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨";echo "原简体 $a<br>";$a = "摆甁玼玸絁砾魔窯︺锚稲筰綽";echo "原繁体 $a<br>";$a=big52gb($a); echo "转简体 $a<br>";$a=gb2big5($a); echo "转繁体 $a<br>"; if($text) { $text = stripslashes($text); $text = big52gb($text); echo $text; }}?><p> </p><?echo big52gb("会");?> TO: xuzuningFM: 贴主你好,这个文件我不能下载下来( http://netcity.hinet.net/kstchieh/table.zip 包中有两个文件:big5-gb.table,gb-big5.table),你能帮忙发给我吗。我邮箱是: [email protected]谢谢你了 php如何按另外一个数组重新排列自身? 内部函数能访问外部函数的参数吗? html,javascript等如何优化,提高运算速度 想了解一个网站绑定多二级域名的问题,望高手指教! php 中用mail函数发送邮件问题,急求解决!!!! 打开数据库次数太多,想做成缓存,请问怎样做? PHP版公告:各位如果发现哪些帖子该结了,请将url贴到这里来! 终于上来了,可闷死我了! 快过年了,急死我了!!!!! 在Solaris下如何使用DSO方式安装php4? window 2000 下出现php.exe进程不断增加 请问php里怎么把数值类型的变量转化成字符型变量?
FM: 贴主
我意思是,我有一个时刻在更新的文本文件,但其内容是繁体,但我输出到网页一定要为简体,请问如何用PHP实现,谢谢。
/**** 繁体<==>简体 ****//**
码表的取得:
http://netcity.hinet.net/kstchieh/table.zip
包中有两个文件:big5-gb.table,gb-big5.table
函数gb2big5由于没有big5环境,故未能详细测试
*/// 将码表预装入内存
$filename = "big5-gb.table";
$fp = fopen($filename, "rb");
$big5 = fread($fp,filesize($filename));
fclose($fp);
$filename = "gb-big5.table";
$fp = fopen($filename, "rb");
$gb = fread($fp,filesize($filename));
fclose($fp);/**
Big5码转换成GB码
*/
function big52gb($Text) {
global $big5;
$max = strlen($Text)-1;
for($i=0;$i<$max;$i++) {
$h = ord($Text[$i]);
if($h>=160) {
$l = ord($Text[$i+1]);
if($h==161 && $l==64) {
$gb = " ";
}else{
$p = ($h-160)*510+($l-1)*2;
$gb = $big5[$p].$big5[$p+1];
}
$Text[$i] = $gb[0];
$Text[$i+1] = $gb[1];
$i++;
}
}
return $Text;
}/**
GB码转换成Big5码
*/
function gb2big5($Text) {
global $gb;
$max = strlen($Text)-1;
for($i=0;$i<$max;$i++) {
$h = ord($Text[$i]);
if($h>=160) {
$l = ord($Text[$i+1]);
if($h==161 && $l==64) {
$big = " ";
}else{
$p = ($h-160)*510+($l-1)*2;
$big = $gb[$p].$gb[$p+1];
}
$Text[$i] = $big[0];
$Text[$i+1] = $big[1];
$i++;
}
}
return $Text;
}?>
<?
/**** 测试 ****/
if($Submit) {$a = "啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨";
echo "原简体 $a<br>";
$a = "摆甁玼玸絁砾魔窯︺锚稲筰綽";
echo "原繁体 $a<br>";
$a=big52gb($a);
echo "转简体 $a<br>";
$a=gb2big5($a);
echo "转繁体 $a<br>";
if($text) {
$text = stripslashes($text);
$text = big52gb($text);
echo $text;
}
}
?>
<p> </p>
<?
echo big52gb("会");
?>
FM: 贴主你好,这个文件我不能下载下来(
http://netcity.hinet.net/kstchieh/table.zip
包中有两个文件:big5-gb.table,gb-big5.table
),你能帮忙发给我吗。
我邮箱是: [email protected]谢谢你了