xgdd1987 发表于 2010-3-22 09:14:02

ci中文转拼音的library

本帖最后由 xgdd1987 于 2010-3-22 10:33 编辑

我在论坛搜了下,发现已经有了一个类似的帖子了,但是我还是忍不住把我找到的这篇发出来,呵呵。现在把代码和使用方法贡献给大家。谢谢。
1、下载utf8pinyin.rar,放到library文件夹下
2、在控制器里你就这样写:
$this->load->library('utf8pinyin','','py');
$pinyin= $this->py->str2py('CI中国',TRUE,TRUE);

说明:第一个参数是你要转换的中文字符串;第二个参数是否全拼,true为是,默认全拼;第三个参数是否大写首字母,默认true;

gwpxjb 发表于 2010-3-22 09:40:13

有空看看~

lurkerming 发表于 2010-3-24 09:36:10

谢谢啊。因为以前有这个需求,老想自己写,结果还是没动手。就借用了。呵呵:victory:

huboo82 发表于 2010-3-24 23:42:52

我改了一下(去除多余的空格,每个汉字转换后之间有替换符隔开,字/词间空格替换符自定义),可以输出这样的了:
$this->load->library('utf2py','','py');
echo $this->py->str2py('Fast releafconstant pain Iron & wine 魔兽世界');
结果: fast-releaf-constant-pain-iron-wine-mo-shou-shi-jie

cisso 发表于 2010-4-13 09:55:01

下来玩会儿,哈哈

stone349685719 发表于 2010-4-13 17:53:33

不错学习了

longjianghu 发表于 2010-4-15 11:33:29

谢谢,可以正常使用。

longjianghu 发表于 2010-4-15 15:23:39

回复 4# huboo82


    我在4楼的基础上又改了一下,使用方法:


$str='ICBC中国人民银行';
$this->load->library('pinyin','','py');
echo $this->py->c($str);


功能上没有什么值得说的,只是修改了转换的参数,只提供了三个参数,第一个需要转换的字符串,第二个是分隔符,第三个决定是否让拼音首字母大写,4楼的分隔符不能自定义,只是简单修改了下。

ivanlw 发表于 2010-4-25 23:23:42

能否请前辈们指点一下这种转化拼音的实现原理呢?之前搜了一下,都说要用到什么内码什么的,好像很麻烦的样子所以没看了,是这样子的吗?

phelps_liu 发表于 2010-5-6 08:27:27

我很郁闷 ,我的呢??咱俩拿来看看谁的更优化。。。你是自己写的吗》???
页: [1] 2
查看完整版本: ci中文转拼音的library