首頁 >後端開發 >PHP問題 >php如何進行中文繁簡體轉換

php如何進行中文繁簡體轉換

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-07-15 16:31:354659瀏覽

很多時候我們需要將中文簡體轉換成繁體,或是將繁體轉換成簡體,那麼你知道該如何進行轉換嗎?今天小編要帶大家一起了解php進行中文繁簡體轉換的方法,有需要的朋友可以參考參考。

php如何進行中文繁簡體轉換

<?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;
    }
}

?>

推薦學習:php影片教學

#

以上是php如何進行中文繁簡體轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除