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;
}
:)自己还没发现有任何错误,如有错误请及时与我联系,寻找解决办法 http://www.zblongcheng.com.cn/news/ 顶!!加分 我的帖子都石沉大海了 。还有人冒发我的帖子 ,气愤啊 !!!!! 楼主可以教一下怎么使用吗?为何我直接 include 一直出现错误? 有谁会使用?我快被搞疯了!!!
找了数十个 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 两个字母
什么状况啊现在!谁来帮个手!快被搞疯了... 回复 7# wtf888
我不知道楼上看没看过 CI 手册,CI 手册上说的很清楚,如何使用类库。我帮楼上找来了,希望你仔细看看。
http://codeigniter.org.cn/user_guide/general/creating_libraries.html
CI 不能直接 include 类库,请按照手册来使用。 抱歉,若没安装 CI 是否就无法使用了呢?
不知道是否有单纯 PHP 环境使用的方式? 回复 9# wtf888
本类只适用于 CI,非 CI 环境不能使用。
如果要放在纯 PHP 环境,需要修改源码,你分析一下源码,应该很容易改吧?(就只有三个函数而已,有 PHP 基础应该会修改)
页:
[1]
2