classifiedpost簡繁体转换的class
内容导读
收集整理的这篇技术教程文章主要介绍了classifiedpost簡繁体转换的class,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5090字,纯文字阅读大概需要8分钟。
内容图文
這是以class包裝好的簡繁體轉換的class,另外需要兩個table檔:
1. http://www.jerry.com.tw/php/big5.map
2. http://www.jerry.com.tw/php/gb.map
程式如下: CCharset.php3
//=====================================================
// 程式員: Magic Jerry
//
// function Big5_Gb($str) => big5轉GB for string
// function Gb_Big5($str) => GB轉Big5 for string
//=====================================================
class CCharset {
var $gb_map="gb.map"; //如果要放到別的路徑,要加上完整路徑
var $big5_map="big5.map"; //例如 ="/home/table/gb.map
var $dep_char = 127;
//-----------------------------------------------------------------
function cbig5_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";
}
function cgb_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";
}
//-----------------------------------------------------------------
function Big5_Gb($str) {
$fd = fopen ($this->gb_map, "r");
$str=str_replace("charset=big5","charset=gb2312", $str);
$outstr="";
for($i=0;$i
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;
}
//-----------------------------------------------------------------
function Gb_Big5($str) {
$fd = fopen ($this->big5_map, "r");
$str=str_replace("charset=gb2312","charset=big5", $str);
$outstr="";
for($i=0;$i
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: Magic Jerry
//====直接轉換文字串 的使用方法========
include("CCharset.php3");
$obj=new CCharset;
$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" ) );
$fc href=$file>", $fcontents);
$code=new CCharset;
$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 "SET to Charset = $CHAR_GB";
$t=time();
echo "
";
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
";
$url.="&".$key."=".urlencode($val);
}
$fcontents = join( '', file( "$url" ) );
$code=new CCharset;
$fc
//echo "轉換過的 $CHAR_GB";
echo $fcontents;
exit;
}
//} else setcookie("CHAR_GB",0,time()+ 31536000);
echo "
";
include("hows.php3");
echo "
"; echo " | |||||||||||||
"; echo "
echo " | "; "; echo "
echo " | ";
echo "";
echo "";
echo "
echo "
echo "";
echo "
echo "
echo "
echo "
?>
以上就介绍了classified post 簡繁体转换的class,包括了classified post方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是为您收集整理的classifiedpost簡繁体转换的class全部内容,希望文章能够帮你解决classifiedpost簡繁体转换的class所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
相关推荐
-
dedecms使用百度编辑Ueditor设置代码高亮教程
窍门天下使用的是dedecms系统,去年出了个神器百度编辑器(Ueditor),当时看到该编辑器觉得界面、功能都做的挺好,就整合了dedecms和Ueditor,具体方法你可以查看:dedecms整合......
-
如何在PHP中进行会话处理?
如何在PHP中进行会话处理? 内容导读 ......
-
PHP、JS怎样查询字符串中子字符串所有出现位置
PHP、JS怎样查询字符串中子字符串所有出现位置 内容导读 ......
-
php是前端还是后端
php是前端还是后端 内容导读 ......
-
气象台发布的卫星云图显示PHP获取目录下的图片并随机显示的代码
气象台发布的卫星云图显示PHP获取目录下的图片并随机显示的代码 内容导读 ......
-
location.replacephppreg_match_all结合str_replace替换内容中所有img
location.replacephppreg_match_all结合str_replace替换内容中所有img 内容导读 ......
-
.net和php哪个好?.net和php的简单比较
.net和php哪个好?.net和php的简单比较 内容导读 ......
-
【PHP网站】如何使用dedecmsv5.7前台模版里输出变量
【PHP网站】如何使用dedecmsv5.7前台模版里输出变量 内容导读 ......