近来一项目中涉及到将简体汉字转换为繁体汉字,网上搜了搜,找了半天,发现没个能用的,不过最终也算是对这个过程有所了解了。网上大多数文章提供的思想就是在一个简体,繁体对应的表中查找相对应的汉字,然后进行替换的,原理就是这么简单。
没办法,找不到现成的,就得站在前辈们的肩膀上自己创造了。让我倍感舒服的是找到了一个中文简体,繁体对应的数据表,根据自己的思路将其整理成了一个以简体字为键,繁体字为值的一个一维数组,类似下面这样的一个数组结构:
$data=array('侧'=>'側','厂'=>'廠');
好了,根据这个结构,相应的替换方法如下:
function J2F($str){ if(trim($str)==''){ return ''; } $fstr=''; include 'J2FData.php';//此数据文件下面有下载地址 $count=mb_strlen($str,'utf-8'); for($i=0;$i<=$count;$i++){ $jchar=mb_substr($str,$i,1,'utf-8'); //这里用到的$fantiData数组是在J2FData.php文件中定义的 $fchar=isset($fantiData[$jchar])?$fantiData[$jchar]:$jchar; $fstr.=$fchar; } return $fstr; }
具体用法如下:
<?php $str='本站是一个php程序员的工作生活笔记,本站包含了php网络编程学习教程,数据库(主要是MySQL和Access数据库)教程,javascript,jquery,div+css,html,windows系统,linux系统以及健康养生方面的学习笔记和生活经验的积累!'; echo J2F($str);
结果将输出如下:
本站是一個php程序員的工作生活筆記,本站包含了php網絡編程學習教程,數據庫(主要是MySQL和Access數據庫)教程,javascript,jquery,div+css,html,windows系統,linux系統以及健康養生方面的學習筆記和生活經驗的積累!