PHP製作的中文拼音首字母工具類

2021-08-20 20:50:00 字數 2262 閱讀 4496

<?php

/*** 漢字拼音首字母工具類

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

* 中文字串:返回拼音首字元 eg. 測試字串 => cszfc

* $fpy = new strtofpy();

* $result = $fpy->getinitials('揚');

** //獲取首字母

* $result = $fpy->getfirststring('abc'); //a

* $resutl = $fpy->getfirststring("揚"); //y**/

class strtofpy

/*** 中文字串 substr

** @param string $str

* @param int $start

* @param int $len

* @return string

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

else

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

}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));

}/**

* 20140624 wangtianbao 獲取首字母

* @param string $str

* @return string

*/public function getfirststring($str)

else

}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]))

else

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

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

else}}

}非常好用的類,感謝分享,希望能幫助更多的人

中文轉拼音首字母

使用者商品名稱簡拼搜尋 namespace common business 1.5.66 漢字轉拼音類 class pinyin 中文字串轉拼音首字母 strchangepin 漢字轉拼音的首字母 get first letter 漢字轉拼音 str2py 獲取拼音對應ascll碼 pinyin p...

分享一段PHP製作的中文拼音首字母工具類

很簡單,這裡就不多bb了,大家看注釋吧,注釋都看不懂的小夥伴,求放過php!複製 如下 漢字拼音首字母工具類 注 英文的字串 不變返回 包括數字 eg abc123 abc123 中文字串 返回拼音首字元 eg.測試字串 cszfc 中英混合串 返回拼音首字元和英文 eg.我i我j wiwj eg....

java獲取中文拼音首字母工具類

package com.sw.documentary.common.utils public class gb2alpha private char alphatable private int table new int 27 初始化 public gb2alpha 主函式,輸入字元,得到他的聲母...