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

How to convert Chinese traditional to simplified in php

醉折花枝作酒筹
Release: 2023-03-11 15:46:01
forward
4654 people have browsed it

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

?>
Copy after login

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!

Related labels:
php
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template