专注网络资源免费分享平台
PHP简体转繁体方法大全

PHP简体转繁体方法大全

4G社区 PHP教程 0
  • 中文简繁体切换

  • zh-hans为简体中文 zh-hant为繁体中文

  • $input 需要转换的文本

  • $change_language_code 转换语言代码

  • $current_language_code 当前语言代码

    class ZhConvert{
    public static function zh($input,$change_language_code = 'zh-hant',$current_language_code = 'zh-hans') {
    if ($change_language_code == $current_language_code) {//转换语言与当前语言相同
    $output = $input;//不转换
    } elseif ($change_language_code == 'zh-hans' && $current_language_code == 'zh-hant') {//转换简体、当前繁体
    $output = self::zh_hant_to_zh_hans($input);//繁体转简体
    } elseif ($change_language_code == 'zh-hant' && $current_language_code == 'zh-hans') {//转换繁体、当前简体
    $output = self::zh_hans_to_zh_hant($input);//简体转繁体
    } else {
    $output = $input;//不转换
    }
    return $output;
    }
  • 中文简繁体自动切换

  • zh-hans为简体中文 zh-hant为繁体中文

  • $input 需要转换的文本

  • $current_language_code 当前语言代码

    public static function zh_auto($input,$current_language_code = 'zh-hans') {
    if ($current_language_code == 'zh-hant') {//转换简体、当前繁体
    $output = self::zh_hant_to_zh_hans($input);//繁体转简体
    } elseif ($current_language_code == 'zh-hans') {//转换繁体、当前简体
    $output = self::zh_hans_to_zh_hant($input);//简体转繁体
    } else {
    $output = $input;//不转换
    }
    return $output;
    }

    * 老方法

    public static function zh_hans_to_zh_hant_old($input) {//简体到繁体的函数,$input是需要转的字符串,可以包含数字、字母、简体繁体汉字等
    $array = self::get_array_zh_hans_to_zh_hant();//简体、繁体对照表
    if(trim($input)==''){ //输入为空则返回空字符串
    return '';
    }
    $output = '';
    $count = mb_strlen($input,'utf-8'); //按照utf-8字符计数
    for($i = 0; $i <= $count; $i++){ //逐个字符处理
    $jchar = mb_substr($input,$i,1,'utf-8'); //分离出一个需要处理的字符
    $fchar = isset($array[$jchar])?$array[$jchar]:$jchar; //如果在上面的对照数组中就转换,否则原样不变
    $output .= $fchar; //逐个字符添加到输出
    }
    return $output;//返回输出
    }

    * 新方法

  • 改用str_replace函数来替代老方法的循环方式

    public static function zh_hans_to_zh_hant($input) {//简体到繁体的函数,$input是需要转的字符串,可以包含数字、字母、简体繁体汉字等
    $array = self::get_array_zh_hans_to_zh_hant();//简体、繁体对照表
    $array_zh_hans = array_keys($array);
    $array_zh_hant = array_values($array);
    if(trim($input)==''){ //输入为空则返回空字符串
    return '';
    }
    $output = str_replace($array_zh_hans, $array_zh_hant, $input);
    return $output;//返回输出
    }

    * 老方法

    public static function zh_hant_to_zh_hans_old($input) {//繁体到简体的函数,$input是需要转的字符串,可以包含数字、字母、简体繁体汉字等
    $array = self::get_array_zh_hans_to_zh_hant();//简体、繁体对照表
    $array = array_flip($array); //如果需要繁体到简体的转换,只需要用一个array_flip函数来对调key和value
    if(trim($input)==''){ //输入为空则返回空字符串
    return '';
    }
    $output = '';
    $count = mb_strlen($input,'utf-8'); //按照utf-8字符计数
    for($i = 0; $i <= $count; $i++){ //逐个字符处理
    $fchar = mb_substr($input,$i,1,'utf-8'); //分离出一个需要处理的字符
    $jchar = isset($array[$fchar])?$array[$fchar]:$fchar; //如果在上面的对照数组中就转换,否则原样不变
    $output .= $jchar; //逐个字符添加到输出
    }
    return $output;//返回输出
    }

    * 新方法

  • 改用str_replace函数来替代老方法的循环方式

    public static function zh_hant_to_zh_hans($input) {//繁体到简体的函数,$input是需要转的字符串,可以包含数字、字母、简体繁体汉字等
    $array = self::get_array_zh_hant_to_zh_hans();//简体、繁体对照表
    $array_zh_hant = array_keys($array);
    $array_zh_hans = array_values($array);
    if(trim($input)==''){ //输入为空则返回空字符串
    return '';
    }
    $output = str_replace($array_zh_hant, $array_zh_hans, $input);
    return $output;//返回输出
    }

    1275个简体、繁体对照表做成数组反转+xx个繁体到简体的数组元素

    private static function get_array_zh_hant_to_zh_hans() {
    $array = self::get_array_zh_hans_to_zh_hant();//1275个简体、繁体对照表做成数组
    $array = array_flip($array);//交换数组中的键和值
    $array['週'] = '周';
    $array['髮'] = '发';
    $array['噁'] = '恶';
    $array['麵'] = '面';
    $array['乾'] = '干';
    $array['佈'] = '布';
    $array['迴'] = '回';
    $array['徵'] = '征';
    $array['穫'] = '获';
    $array['穀'] = '谷';
    $array['鬍'] = '胡';
    $array['鬚'] = '须';
    $array['閒'] = '闲';
    $array['鬆'] = '松';
    $array['姦'] = '奸';
    $array['鬱'] = '郁';
    $array['製'] = '制';
    $array['馀'] = '余';
    $array['嚮'] = '向';
    $array['繫'] = '系';
    $array['罎'] = '坛';
    $array['檯'] = '台';
    $array['颱'] = '台';
    $array['捨'] = '舍';
    $array['籤'] = '签';
    $array['僕'] = '仆';
    $array['闢'] = '辟';
    $array['衊'] = '蔑';
    $array['濛'] = '蒙';
    $array['矇'] = '蒙';
    $array['儘'] = '尽';
    $array['薑'] = '姜';
    $array['颳'] = '刮';
    $array['噹'] = '当';
    $array['衝'] = '冲';
    $array['彆'] = '别';
    $array['臺'] = '台';
    $array['瀏'] = '浏';
    $array['號'] = '号';
    $array['產'] = '产';
    $array['紘'] = '纮';
    $array['財'] = '财';
    $array['恆'] = '恒';
    $array['啓'] = '启';
    $array['錡'] = '锜';
    $array['酈'] = '丽';
    return $array;
    }

标签:

PHP经验分享

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 1743348666@qq.com

同类推荐
评论列表
签到
未分类 PHP简体转繁体方法大全
中文简繁体切换 zh-hans为简体中文 zh-hant为繁体中文 $input 需要转换的文本 $change_language_code 转换语言代码 $current_language_code 当前语言代码 class ZhConvert{ public static function zh($input,$change_language_code......
扫描二维码阅读原文
四季社区 January, 01
生成社交图 ×