**很簡單,這裡就不多bb了,大家看注釋吧,注釋都看不懂的小夥伴,求放過php!!!
複製** **如下:
<?php
/*** 漢字拼音首字母工具類
* 注: 英文的字串:不變返回(包括數字) eg .abc123 => abc123
* 中文字串:返回拼音首字元 eg. 測試字串 => cszfc
* 中英混合串: 返回拼音首字元和英文 eg. 我i我j => wiwj
* eg.
* $py = new str2py();
** $result = $py->getinitials('周杰倫');
** //獲取首字母
* $result = $py->getfirststring('abc'); //a
* $resutl = $py->getfirststring("周杰倫"); //z**/
class str2py
/*** 中文字串 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}}
}
PHP製作的中文拼音首字母工具類
漢字拼音首字母工具類 注 英文的字串 不變返回 包括數字 eg abc123 abc123 中文字串 返回拼音首字元 eg.測試字串 cszfc fpy new strtofpy result fpy getinitials 揚 獲取首字母 result fpy getfirststring abc...
如何利用PHP來擷取一段中文字串而不出現亂碼
code 1 e818e36f81 功能 擷取全形和半形混合的字串以避免亂碼 引數 str cut 需要截斷的字串 length 允許字串顯示的最大長度 function substr cut str cut,length 30 return str cut code 1 e818e36f81 說明...
php獲取一段時間內的法定工作日
首先,需要自己在後台建立乙個表 content cooper 這個結構如下 create table my content cooper id int 11 unsigned not null auto increment comment 節假日記錄表id year tinyint 3 not nu...