<?php
$testC = new TestC ();
$testC->index ();
class TestC {
private $utf8_gb2312;
private $utf8_big5;
public function __construct() {
$this->utf8_gb2312 = "么万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书买乱争于亏云";
$this->utf8_big5 = "麽萬與醜專業叢東絲丟兩嚴喪個爿豐臨為麗舉麼義烏樂喬習鄉書買亂爭於虧雲";
}
public function index() {
// 设置网页UTF8编码
header ( "Content-Type: text/html; charset=utf-8" );
// UTF8内简转繁
$str = "中华人民共和国";
$str_big5 = $this->c2t ( $str );
echo "原文:$str <br />";
echo "转换为繁体后: $str_big5 <br />";
// UTF8内繁转简
$str = "中華人民共和國 ";
$str_gb2312 = $this->t2c ( $str );
echo "原文: $str <br /> ";
echo "转换为简体后:$str_gb2312 <br /> ";
}
public function c2t($str) {
$str_t = '';
$len = strlen ( $str );
$a = 0;
while ( $a < $len ) {
if (ord ( $str {$a} ) >= 224 && ord ( $str {$a} ) <= 239) {
if (($temp = strpos ( $this->utf8_gb2312, $str {$a} . $str {$a + 1} . $str {$a + 2} )) !== false) {
$str_t .= $this->utf8_big5 {$temp} . $this->utf8_big5 {$temp + 1} . $this->utf8_big5 {$temp + 2};
$a += 3;
continue;
}
}
$str_t .= $str {$a};
$a += 1;
}
return $str_t;
}
public function t2c($str) {
$str_t = '';
$len = strlen ( $str );
$a = 0;
while ( $a < $len ) {
if (ord ( $str {$a} ) >= 224 && ord ( $str {$a} ) <= 239) {
if (($temp = strpos ( $this->utf8_big5, $str {$a} . $str {$a + 1} . $str {$a + 2} )) !== false) {
$str_t .= $this->utf8_gb2312 {$temp} . $this->utf8_gb2312 {$temp + 1} . $this->utf8_gb2312 {$temp + 2};
$a += 3;
continue;
}
}
$str_t .= $str {$a};
$a += 1;
}
return $str_t;
}
}
?>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)