* 中文简繁体切换
* 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; }上一篇:isset()函数判断变量是否设置且非NULL 下一篇:PHP类或函数轻松生成验证码教程 栏目分类
帝国CMS教程
织梦cms教程
discuz教程
ecshop教程
phpcms教程
wordpress教程
苹果cms教程
php教程
数据库教程
微信小程序教程
python教程
css教程
js教程
视频教程
电子书
最新更新- 01 PHP报错:PHP Notice: Undefined variable: _SESSION解决方法 2个月前
- 02 使用PHP获取XHR请求来源方法 2个月前
- 03 thinkphp请求调用API接口函数分享 2个月前
- 04 PHP采集图片Curl远程下载到本地教程 2个月前
- 05 PHP判断网址是否正常访问 2个月前
- 01 分享几个随机美女图api接口 4580热度
- 02 优学院自动刷课PHP代码 794热度
- 03 php文件限速下载示例代码 660热度
- 04 最新蓝奏云直连解析API接口php代码 651热度
- 05 随机二次元图片API接口源码 613热度