Home  >  Article  >  Backend Development  >  How to convert Chinese traditional to simplified in php

How to convert Chinese traditional to simplified in php

醉折花枝作酒筹
醉折花枝作酒筹forward
2021-07-15 16:31:354614browse

Many times we need to convert Simplified Chinese to Traditional Chinese, or convert Traditional Chinese to Simplified Chinese, so do you know how to convert? Today, the editor will take you to understand the method of converting traditional Chinese to simplified Chinese in PHP. Friends in need can refer to it.

How to convert Chinese traditional to simplified in 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;
    }
}

?>

Recommended learning: php video tutorial

The above is the detailed content of How to convert Chinese traditional to simplified in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete