• 技术文章 >后端开发 >PHP问题

    php如何进行中文繁简体转换

    醉折花枝作酒筹醉折花枝作酒筹2021-07-15 19:59:54转载95
    很多时候我们需要将中文简体转换成繁体,或是将繁体转换成简体,那么你知道该如何进行转换吗?今天小编要带大家一起了解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中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:php
    上一篇:php怎么删除数组所有元素 下一篇:php抽象类和抽象方法是什么
    第16期线上培训班

    相关文章推荐

    • 分享微信支付v3版 php解密解密代码• 分享封装的一个PHP微信支付的类库(扫码、H5、小程序)• php怎么去掉字符串首尾的空格和换行• 网站隐藏php后缀怎么做• win7如何使用php连接远程oracle

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网