PHP中文繁简转换-繁体-简体

项目中需要搜索简体字或者繁体字 都能够搜到相应的内容,搜索用的又是SPHINX,没法在搜索中修改程序,只能在搜索之前的关键字做出修改了。

于是想到将搜索的关键字不论是简体还是繁体 一律转换成繁体 ,然后在对内容进行搜索。

由于项目网站是繁体的,所以这样做,但如果真要搜简体的内容,就搜不到了~


网上大多数的函数都需要一个TABLE转换表,但没有找到。。不过还是通过坚持不懈的努力找到了一个:

地址:https://github.com/grick/auto-tag-slug/blob/master/class.Chinese.php

使用起来还是很方便的,里面有DEMO。

不过我需要使用的是 UTF8中文字转换为BIG5繁体字再转换为UTF8繁体字

这个过程中 ,直接将 UTF8转换成BIG5会出错。。可能简繁转换还是GB2312到BIG5会好些吧

于是我的流程是这样的:


private function iconvKey($wd)
	{
		if (empty($wd))  return '';
		
		# 加载转换类
		if (!class_exists('Chinese')) {
			loader::lib('Chinese', 'search');
		}
		
		if ( is_dir( dirname(__FILE__) . '/../lib/chinese/config/') ) {
			$table = dirname(__FILE__) . '/../lib/chinese/config/';
		}
		
		$chs = new Chinese('UTF8', 'GB2312', $wd, $table );
		$str = $chs -> ConvertIT(); # GB2312
		$chs = new Chinese( 'GB2312', 'BIG5', $str, $table );
		$str = $chs -> ConvertIT(); # BIG5
		$chs = new Chinese( 'BIG5', 'UTF8', $str, $table );
		return $chs -> ConvertIT(); 
	}

要是有更好更简便的方式来转换、求赐教~

你可能感兴趣的:(项目总结,WEB小功能)