工作需要,需要寫個漢字轉換成字元並取出首字母作為縮小,方便查詢。因此就找資料研究,並完善乙個轉換方法,目前能實現:1.漢字轉換成拼音
2.轉換的拼音可以取首字母,也可以取全拼
3.帶過濾功能,可以把制定的過濾漢字剔除。
4.可以選擇使用的編碼,內建編碼轉換功能
5.提供兩種轉換字母的方式,選擇一種。
/***
* $_string 要轉換拼音的漢字
* $_code 使用的編碼
* $_type 使用的轉換方式 1為使用字典方式(預設),2為使用編碼範圍方式
*/類名:pingyin
初始化方法:pinyin($_string, $_code='gb2312',$_type=1)
實現基本思想:
1.獲取漢字字串,選擇使用的編碼和轉換方式
2.內部指定過濾陣列和要選出的前n個漢字的字母(指定輸出n個漢字的首字母)
3.判斷編碼,轉換編碼
4.程式先過濾字串中需要過濾掉得字串或字元
5.把每個漢字轉換後取出首字母
6.拼接字母,然後輸出。
使用方法:
$str="你想要看到的字母";
echo $code;
輸出:nxy
1<?php
2class pinyin extends action
69if(strlen($_string)>=$len)
70
73else
74
77for($i=0; $i
84if($_type ==1)
85
89else
90
9495 }
96//
return $i."
".$countlen."
".$_string."
".$_res."
".preg_replace("/[^a-z0-9]*/", '', $_res);
97return
preg_replace("/[^a-z0-9a-z]*/", '', $_res);
98 }
99function _pinyin($_num, $_data)elseif($_num
-10247)else
106return
substr($k,0,1);
107 }
108 }
109function _u2_utf8_gb($_c)elseif($_c
< 0x800) elseif($_c
< 0x10000)elseif($_c
< 0x200000)
126return
iconv('utf-8', 'gb2312', $_string);
127 }
128129
function _changecode($p)
130
163164 }
165166
167168
169 ?>
漢字提取首字母
public class getcnspell return mystr 把提取的字母變成小寫 需要轉換的字串 轉換結果 public string getlowerchinesespell string strtext 把提取的字母變成大寫 需要轉換的字串 轉換結果 public string g...
SQL 漢字轉換拼音首字母
create function whk fun getpy str nvarchar 4000 returns nvarchar 4000 asbegin declare word nchar 1 py nvarchar 4000 set py while len str 0 begin set w...
取漢字拼間首字母函式
說明 我原來也寫過乙個相同功能的函式,今天看到了下面的 發現比我寫的簡潔多了,效率不錯,特的抄錄在下面。sql函式 fun getpy 得到漢字串拼音 create function fun getpy str nvarchar 4000 returns nvarchar 4000 as begin...