phelps_liu 发表于 2010-2-5 12:11:42

UTF-8中文字符转拼音类

本类实现将UTF-8中文字符转换成拼音 或者实现拼音的首字母连锁。
作用:可以实现索引,按照拼音的首字母进行升降序排列
部分代码:
function character2acsii($str) {
$ret = "";
for($i = 0; $i < strlen ( $str ); $i ++) {
   $p = ord ( substr ( $str, $i, 1 ) );
   if ($p > 160) {
    $q = ord ( substr ( $str, ++ $i, 1 ) );
    $p = $p * 256 + $q - 65536;
   }
   //Without leaving any spacePlease delete the string----‘." "’
   $ret .= $this->acsii2character ( $p ) . " ";
}
return $ret;
}
/*
* cn2py
* @access public
*/
function cn2py($var = null) {
if (strlen ( trim ( $var ) ) > 0) {
   //make UTF-8 $var to GBK
   $str = iconv ( 'UTF-8', 'GBK', $var );
   return $this->character2acsii ( $str );
} else {
   return false;
}

}
/*
* @auth liu
* @access public
* the initial letter (of a Chinese character)
*/
function initial($var = null) {
$pinyin = '';
$character = $this->cn2py ( $var );
if (strpos ( $character, ' ' ) > 0) {
   $str = explode ( " ", $character );
   foreach ( $str as $word ) {
    $pinyin .= substr ( $word, 0, 1 );
   }
} else {
   $pinyin .= substr ( $character, 0, 1 );
}
return $pinyin;
}

phelps_liu 发表于 2010-2-5 12:16:08

:)自己还没发现有任何错误,如有错误请及时与我联系,寻找解决办法

phelps_liu 发表于 2010-2-5 13:17:34

http://www.zblongcheng.com.cn/news/

Hex 发表于 2010-2-5 14:44:59

顶!!加分

phelps_liu 发表于 2010-5-6 08:29:34

我的帖子都石沉大海了 。还有人冒发我的帖子 ,气愤啊 !!!!!

wtf888 发表于 2010-5-16 22:22:29

楼主可以教一下怎么使用吗?为何我直接 include 一直出现错误?

wtf888 发表于 2010-5-16 23:38:15

有谁会使用?我快被搞疯了!!!

找了数十个 UTF-8 中文转拼音,没一个能用的!

单纯 include 出现
No direct script access allowed

遮蔽掉 if (! defined ( 'BASEPATH' )) 出现
Fatal error: Call to undefined function get_instance() in D:\AppServ\www\Chinese.php on line 33

再遮蔽掉 function Chinese 直接调用 echo $x->initial("欢迎"); 结果出现 hy 两个字母

什么状况啊现在!谁来帮个手!快被搞疯了...

Hex 发表于 2010-5-16 23:44:22

回复 7# wtf888


    我不知道楼上看没看过 CI 手册,CI 手册上说的很清楚,如何使用类库。我帮楼上找来了,希望你仔细看看。
http://codeigniter.org.cn/user_guide/general/creating_libraries.html
CI 不能直接 include 类库,请按照手册来使用。

wtf888 发表于 2010-5-17 00:38:44

抱歉,若没安装 CI 是否就无法使用了呢?

不知道是否有单纯 PHP 环境使用的方式?

Hex 发表于 2010-5-17 00:41:28

回复 9# wtf888


    本类只适用于 CI,非 CI 环境不能使用。
如果要放在纯 PHP 环境,需要修改源码,你分析一下源码,应该很容易改吧?(就只有三个函数而已,有 PHP 基础应该会修改)
页: [1] 2
查看完整版本: UTF-8中文字符转拼音类