1. /**
    2. * 繁体转简体
    3. * @param $Text
    4. */
    5. function big5_to_gbk($Text) {
    6. global $BIG5_DATA;
    7. if(empty($BIG5_DATA)) {
    8. $filename = CODETABLEDIR.'big5-gb.table';
    9. $fp = fopen($filename, 'rb');
    10. $BIG5_DATA = fread($fp, filesize($filename));
    11. fclose($fp);
    12. }
    13. $max = strlen($Text)-1;
    14. for($i = 0; $i < $max; $i++) {
    15. $h = ord($Text[$i]);
    16. if($h >= 0x80) {
    17. $l = ord($Text[$i+1]);
    18. if($h==161 && $l==64) {
    19. $gbstr = ' ';
    20. } else {
    21. $p = ($h-160)*510+($l-1)*2;
    22. $gbstr = $BIG5_DATA[$p].$BIG5_DATA[$p+1];
    23. }
    24. $Text[$i] = $gbstr[0];
    25. $Text[$i+1] = $gbstr[1];
    26. $i++;
    27. }
    28. }
    29. return $Text;
    30. }