繁体中文转换为简体中文的PHP函数
感谢网友Keyes提供移植用的Delphi源代码。其调用方式为$txt=gbtobig5($txt)。
(注:源代码中的include "data_gb.php";这个文件在就是一个数组
<?php /*********************************************************************** Written by caocao caocao@eastday.com With the help of Keyes Keyes2000@263.net ***********************************************************************/ function isgb($code) { if (strlen($code) >= 2) { $code = strtok($code, ""); if ((ord($code[0]) < 161) || (ord($code[0]) >= 247)) { return (0); } else { if ((ord($code[1]) <= 161) || (ord($code[1]) >= 254)) { return (0); } else { return (1); } } } else { return (1); } } function gboffset($code) { if (strlen($code) >= 2) { $code = strtok($code, ""); return ((ord($code[0]) - 161) * 94 + (ord($code[1]) - 161)); } else { return (-1); } } function wordtostring($code) { return (chr(hexdec(substr($code, 0, 2))) . chr(hexdec(substr($code, 2, 2)))); } function gbtobig5($code) { include "data_gb.php"; $output = ""; $length = strlen($code); $code = strtok($code, ""); $idx = 0; while ($idx < $length) { $tmpStr = $code[$idx] . $code[$idx + 1]; if (isgb($tmpStr)) { $offset = gboffset($tmpStr); if (($offset >= 0) || ($offset <= 8177)) { $output.= wordtostring($gborder[$offset]); $idx++; } else { $output.= $code[$idx]; } } else { $output.= $code[$idx]; } $idx++; } return ($output); }; ?>
文章链接:http://www.phprm.com/function/05b9ca822a04f4318267307db64c135f.html
随便收藏,请保留本文地址!