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(); 
	}

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值