PHP常用函式之獲取漢字首字母功能示例

2022-09-26 03:48:17 字數 2228 閱讀 3816

//獲取漢字的首字母

function getfirstcharters($str)

//取出引數字串中的首個字元

$temp_str = substr($str,0,1);

if(ord($temp_str) > 127)else);

if ($fchar >= ord('a') && $fchar <= ord('z'))else

} $s1 = iconv('utf-8', 'gb2312//ignore', $str);

if(empty($s1))

$s2 = iconv('gb2312', 'utf-8', $s1);

if(empty($s2))

$s = $s2 == $str ? $s1 : $str;

$asc = ord($s) * 256 + ord($s) - 65536;

if ($asc >= -20319 && $asc <= -20284)

return 'a';

if ($asc >= -20283 && $asc <= -19776)

return 'b';

if ($asc >= -19775 && $asc <= -19219)

return 'c';

if ($asc >= -19218 && $asc <= -18711)

return 'd';

if ($asc >= -18710 && $asc <= -18527)

return 'e';

if ($asc >= -18526 && $asc <= -18240)

return 'f';

if ($asc >= -18239 && $asc <= -179程式設計客棧23)

return 'g';

if ($asc >= -17922 && $asc <= -17418)

return 'h';

if ($asc >= -17417 && $asc <= -16475)

return 'j';

if ($asc >= -16474 && $asc <= -16213)

return 'k';

if ($asc >=www.cppcns.com -16212 && $asc <= -15641)

return 'l';

if ($asc >= -15640 && $asc <= -15166)

return 'm';

if ($asc >= -15165 && $asc <= -14923)

return 'n';

if ($asc >= -14922 && $asc <= -14915)

return 'o';

if ($asc >= -14914 && $asc <= -14631)

return 'p';

if ($asc >= -14630 && $asc <= -14150)

return 'q';

if ($asc >= -14149 && $asc <= -14091)

return 'r';

if ($asc >= -14090 && $asc <= -13319)

return 's';

if ($asc >= -13318 && $asc <= -12839)

return 't';

if ($asc >= -12838 && $asc <= -12557)

return 'w';

if ($asc >= -12556 && $asc <= -11848)

return 'x';

if ($asc >= -11847 && $asc <= -11056)

return 'y';

if ($asc >= -11055 && $asc <= -10247)

return 'z';

return rare_words($asc);

}//百家姓中的生僻字

function rare_words($asc='')else

}//測試:

echo getfirstcharters('竇');

執行結果:

dps:這裡再為大家提供幾款本站拼音與字母相關工具供大家參考:

**中英文根據首字母排序工具:

**漢字轉換成拼音工具:

**中文漢字轉拼音工具:

**中文漢字拼音對照轉換工具:

**字母大小寫轉換工具:

php獲取漢字首字母的函式

網上的方法有不少,都是一樣的原理,按照需求,做了一下版本的class類檔案,主要功能是 功能明確,易於修改維護和擴充套件 英文的字串 不變返回 包括數字 中文字串 返回拼音首字元 中英混合串 返回拼音首字元和英文。該演算法採用了二分法查詢,修復了之前字母z讀取成y的錯誤。好東西要,故在此留下印記,以...

oracle 獲取漢字首字母 函式

為了自己使用方便,轉其他寫法 create or replace function func get pinyin capital p name in varchar2 return varchar2 as v compare varchar2 100 v return varchar2 4000 ...

java獲取漢字首字母

public class chinesefcutil 二十六個字母區間對應二十七個端點 gb2312碼漢字區間十進位制表示 private static int table new int 27 對應首字母區間表 private static char initialtable 初始化 static...