php 獲取姓名拼音首字母

2021-06-22 13:20:22 字數 2215 閱讀 4760

**url:

<?php

/** * created by [email protected] at 2008-12-29 21:12

* 漢字拼音首字母工具類

* 注: 英文的字串:不變返回(包括數字) eg .abc123 => abc123

* 中文字串:返回拼音首字元 eg. 王小明 => wxm

* 中英混合串: 返回拼音首字元和英文 eg. 我i我j => wiwj

* eg.

* $py = new pyinitials();

* $result = $py->getinitials('王小明');

*/class pyinitials

/*** 中文字串 substr

* * @param string $str

* @param int $start

* @param int $len

* @return string

*/private function _msubstr ($str, $start, $len)

if ( ord(substr($str, $i, 1)) > 129 ) $i++;

}return $result;

} /**

* 字串切分為陣列 (漢字或者乙個字元為單位)

* * @param string $str

* @return array

*/private function _cutword( $str )

else

}return $words;

} /**

* 判斷字元是否是ascii字元

* * @param string $char

* @return bool

*/private function _isascii( $char )

/*** 判斷字串前3個字元是否是ascii字元

* * @param string $str

* @return bool

*/private function _isasciis( $str )

$result = array_count_values( $chars );

if ( empty($result['no']) )

return false;

} /**

* 獲取中文字串的拼音首字元

* * @param string $str

* @return string

*/public function getinitials( $str )

$result = array();

if ( $this->_charset == 'utf-8' )

$words = $this->_cutword( $str );

foreach ( $words as $word )

$code = ord( substr($word,0,1) ) * 1000 + ord( substr($word,1,1) );

//獲取拼音首字母a--z

if ( ($i = $this->_search($code)) != -1 )

} return strtoupper(implode('',$result));

} private function _getchar( $ascii )

elseif ( $ascii>=65 && $ascii<=90 )elseif ($ascii>=97 && $ascii<=122)else

} /**

* 查詢需要的漢字內碼(gb2312) 對應的拼音字元( 二分法 )

* * @param int $code

* @return int

*/private function _search( $code )

$tmp = (int) round(($lower + $upper) / 2);

if ( !isset($data[$tmp]) ) return $data[$middle];

else $middle = $tmp;

if ( $data[$middle] < $code )else if ( $data[$middle] == $code ) else

}// end for }}

?>

獲取漢字拼音首字母

有個專案需要用到生成漢字的首字母,但從網上查了一下,對於多音字的處理都不是很好,所以就利用pinyin4j這個工具包自己寫了乙個。用到的jar包是pinyin4j 2.5.0.jar 獲取拼音首字母,多音字用逗號隔開 public static string getfirstspell string...

獲取漢字拼音首字母

unit py inte ce uses sysutils 獲取漢字的拼音首字元,這個函式將用在getpyindexstr 中.function getpyindexchar strchinese string bupcase boolean true char 獲取多個漢字的拼音首字元組成的字串....

獲取漢字拼音首字母

獲取漢字拼音首字母 獲取漢字拼音首字母 很好用.覺的不錯的幫頂 1.下面的不上亂碼是位元組 第一步建立乙個函式 create or replace function f trans pinyin capital p name in varchar2 return varchar2 as v comp...