CodeIgniter 中英文搜索引擎:
返回列表 发帖

[库 Library] UTF-8中文字符转拼音类

本类实现将UTF-8中文字符转换成拼音 或者实现拼音的首字母连锁。
作用:可以实现索引,按照拼音的首字母进行升降序排列
部分代码:
PHP
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 space  Please 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;
}
复制代码

附件: 您需要登录才可以下载或查看附件。没有帐号?入住 CodeIgniter 中国社区
1

评分人数

  • Hex

吃窝边草的兔子

自己还没发现有任何错误,如有错误请及时与我联系,寻找解决办法
吃窝边草的兔子

TOP

http://www.zblongcheng.com.cn/news/
吃窝边草的兔子

TOP

顶!!加分
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com
搜索: http://search.codeigniter.org.cn

TOP

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

TOP

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

TOP

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

找了数十个 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 两个字母

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

TOP

回复 7# wtf888


    我不知道楼上看没看过 CI 手册,CI 手册上说的很清楚,如何使用类库。我帮楼上找来了,希望你仔细看看。
http://codeigniter.org.cn/user_g ... ting_libraries.html
CI 不能直接 include 类库,请按照手册来使用。
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com
搜索: http://search.codeigniter.org.cn

TOP

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

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

TOP

回复 9# wtf888


    本类只适用于 CI,非 CI 环境不能使用。
如果要放在纯 PHP 环境,需要修改源码,你分析一下源码,应该很容易改吧?(就只有三个函数而已,有 PHP 基础应该会修改)
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com
搜索: http://search.codeigniter.org.cn

TOP

返回列表