當前位置:首頁 » 編程語言 » php繁體轉換簡體

php繁體轉換簡體

發布時間: 2025-07-10 04:49:13

php搜索 繁體怎麼轉成簡體

PHP實現---漢字簡體繁體轉換
這是以class包裝好的簡繁體轉換的class,
另外需要兩個table檔:
1.http://www.jerry.com.tw/php/big5.map
2.http://www.jerry.com.tw/php/gb.map
程式如下:CCharset.php3
<?//=====================================================
//程式員:MagicJerry
//
//functionBig5_Gb($str)=>big5轉GBforstring
//functionGb_Big5($str)=>GB轉Big5forstring
//=====================================================
classCCharset{
var$gb_map="gb.map";//如果要放到別的路徑,要加上完整路徑
var$big5_map="big5.map";//例如="/home/table/gb.map
var$dep_char=127;
//-----------------------------------------------------------------
functioncbig5_gb($str,$fd){
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd,$address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return"$hi$lo";
}
functioncgb_big5($str,$fd){
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd,$address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return"$hi$lo";
}
//-----------------------------------------------------------------
functionBig5_Gb($str){
$fd=fopen($this->gb_map,"r");
$str=str_replace("charset=big5","charset=gb2312",$str);
$outstr="";
for($i=0;$i<strlen($str);$i++){
$ch=ord(substr($str,$i,1));
if($ch>$this->dep_char){
$outstr.=$this->cbig5_gb(substr($str,$i,2),$fd);
$i++;
}else{
$outstr.=substr($str,$i,1);
}
}
fclose($fd);
return$outstr;
}
//-----------------------------------------------------------------
functionGb_Big5($str){
$fd=fopen($this->big5_map,"r");
$str=str_replace("charset=gb2312","charset=big5",$str);
$outstr="";
for($i=0;$i<strlen($str);$i++){
$ch=ord(substr($str,$i,1));
if($ch>$this->dep_char){
$outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
$i++;
}else{
$outstr.=substr($str,$i,1);
}
}
fclose($fd);
return$outstr;
}
}
?>
===================================================================
使用範例:
<?
//Designer:MagicJerry
//====直接轉換文字串的使用方法========
include("CCharset.php3");
$obj=newCCharset;
$big5="這是一個big5的文字串";
$tgb=$obj->Big5_Gb($big5);
echo$tgb;//===>$tgb為轉換好的gb碼字串
$tbig5=$obj->Gb_Big5($tgb);
echo$tbig5;//又被轉回來了:big5
//======================================
?>
<?
//如果直接轉換網頁或是檔案
//語法http://your.domain.com.tw/這個程式.php3?http://要轉碼的網頁url或檔案
//example:轉換奇摩首頁
//http://your.domain.com.tw/這個程式.php3?http://www.kimo.com.tw/index.shtml
//注意:以下寫法如遇到該網頁有使用cookie,例如認證user,可能會被踢回,login錯誤..
//為什麼?想想看吧...@_@
include("CCharset.php3");
$file=$QUERY_STRING;
$fcontents=join('',file("$file"));
$fcontents=str_replace("<head>","<head><basehref=$file>",$fcontents);
$code=newCCharset;
$gb=$code->Big5_Gb($fcontents);
echo$gb;
?>
範例:
<?
if($func=="charset"){
setcookie("CHAR_GB",$GB,time()+31536000);
$t=time();
$url="http://".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING;
$url=str_replace("?func=charset&GB=1","",$url);
$url=str_replace("?func=charset&GB=0","",$url);
$url=str_replace("&func=charset&GB=1","",$url);
$url=str_replace("&func=charset&GB=0","",$url);
//echo$url;
//echo"SETtoCharset=$CHAR_GB";
$t=time();
echo"
<scriptlanguage=javascript>
document.location='$url'
</script>
";
exit;
}
//phpinfo();
if($CHAR_GB==1&&!$istran){
include("CCharset.php3");
if(strlen($QUERY_STRING))$url="http://".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING."&istran=1";
else$url="http://".$HTTP_HOST.$PHP_SELF."?istran=1";
while(list($key,$val)=each($HTTP_COOKIE_VARS)){
//echo"$key=>$val<br>";
$url.="&".$key."=".urlencode($val);
}
$fcontents=join('',file("$url"));
$code=newCCharset;
$fcontents=$code->Big5_Gb($fcontents);
//echo"轉換過的$CHAR_GB";
echo$fcontents;
exit;
}
/

⑵ php怎麼 區分簡體與繁體中文JS區分也行。

其實可以不區分的,直接強制把簡單轉成繁體,繁體轉成簡體就行了。
我寫好了一個函數,你要的話,hi上面給你。
有點大。
代碼放到我空間啦,但是你還沒有設置我最佳答案啊。

熱點內容
手機如何設密碼鎖屏 發布:2025-07-10 14:17:06 瀏覽:803
java求絕對值 發布:2025-07-10 14:10:55 瀏覽:653
usb調試開關在哪裡安卓 發布:2025-07-10 13:59:55 瀏覽:78
資料庫維度 發布:2025-07-10 13:54:31 瀏覽:799
c語言位域的賦值 發布:2025-07-10 13:54:30 瀏覽:583
查成績密碼忘了怎麼辦 發布:2025-07-10 13:52:21 瀏覽:819
java死 發布:2025-07-10 13:51:30 瀏覽:996
車輛設施配置有哪些 發布:2025-07-10 13:42:28 瀏覽:820
java的成員 發布:2025-07-10 13:38:59 瀏覽:720
荒島餘生ftp 發布:2025-07-10 13:36:46 瀏覽:923