Using PHP to achieve traditional and simplified

xiaoxiao2021-03-06  73

/ **** Traditional <==> 简体 **** /

/ **

Code table acquisition:

http://netcity.hinet.net/kstchieh/table.zip

There are two files in the package: BIG5-GB.TABLE, GB-BIG5.TABLE

Function GB2BIG5 is not detailed in detail because there is no BIG5 environment.

* /

// Make the code table into memory

$ filename = "BIG5-GB.TABLE";

$ fp = fopen ($ filename, "rb");

$ BIG5 = FREAD ($ FP, FILSIZE ($ FileName));

Fclose ($ fp);

$ filename = "gb-big5.table";

$ fp = fopen ($ filename, "rb");

$ GB = FREAD ($ FP, FILSIZE ($ FileName));

Fclose ($ fp);

/ **

BIG5 code conversion into GB code

* /

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 code conversion to a BIG5 code

* /

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;

}

?>

/ **** Test **** /

$ a = "ah Aue 挨 唉 癌 癌 癌 矮 艾 艾"

ECHO "Original Simplified $ A
";

$ a = "摆  甁  玼  玸絁 玸絁 魔 魔";

Echo "Original Traditional $ A
";

$ a = BIG52GB ($ A);

Echo "Transparent body $ a
";

$ A = GB2BIG5 ($ A);

ECHO "Translucent $ a
";

?>

转载请注明原文地址:https://www.9cbs.com/read-96760.html

New Post(0)