求教:请问如何用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]谢谢你了 rewrite语句从apache下搬到IIS下失效的问题 相对路径问题 php页面跳转问题 各位大大好,我是一个刚刚开始学习PHP的菜鸟,请各位大大给我看下这个是怎么回事!!! 较长数字 字符串 的比较问题 页面出现 Notice: Undefined variable DE_de in xxxx 'PHP高级编程'PDF那里有的下载. 当我在httpd.conf里面加了这三句就不能重起Apache了,为什么? 流程算法 php连接mssql查询不会写,删除添加修改都好使,求帮忙 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]谢谢你了