php---------取汉字的第一个字的首字母
开发中用到的方法,取出第一个汉字的首字母;
/**
* 取汉字的第一个字的首字母
* @param string $str
* @return string|null
*/
function getFirstChar($str) {
if (empty($str)) {
return '';
} $fir = $fchar = ord($str[0]);
if ($fchar >= ord('A') && $fchar <= ord('z')) {
return strtoupper($str[0]);
} $s1 = @iconv('UTF-8', 'gb2312', $str);
$s2 = @iconv('gb2312', 'UTF-8', $s1);
$s = $s2 == $str ? $s1 : $str;
if (!isset($s[0]) || !isset($s[1])) {
return '';
} $asc = ord($s[0]) * 256 + ord($s[1]) - 65536; if (is_numeric($str)) {
return $str;
} if (($asc >= -20319 && $asc <= -20284) || $fir == 'A') {
return 'A';
}
if (($asc >= -20283 && $asc <= -19776) || $fir == 'B') {
return 'B';
}
if (($asc >= -19775 && $asc <= -19219) || $fir == 'C') {
return 'C';
}
if (($asc >= -19218 && $asc <= -18711) || $fir == 'D') {
return 'D';
}
if (($asc >= -18710 && $asc <= -18527) || $fir == 'E') {
return 'E';
}
if (($asc >= -18526 && $asc <= -18240) || $fir == 'F') {
return 'F';
}
if (($asc >= -18239 && $asc <= -17923) || $fir == 'G') {
return 'G';
}
if (($asc >= -17922 && $asc <= -17418) || $fir == 'H') {
return 'H';
}
if (($asc >= -17417 && $asc <= -16475) || $fir == 'J') {
return 'J';
}
if (($asc >= -16474 && $asc <= -16213) || $fir == 'K') {
return 'K';
}
if (($asc >= -16212 && $asc <= -15641) || $fir == 'L') {
return 'L';
}
if (($asc >= -15640 && $asc <= -15166) || $fir == 'M') {
return 'M';
}
if (($asc >= -15165 && $asc <= -14923) || $fir == 'N') {
return 'N';
}
if (($asc >= -14922 && $asc <= -14915) || $fir == 'O') {
return 'O';
}
if (($asc >= -14914 && $asc <= -14631) || $fir == 'P') {
return 'P';
}
if (($asc >= -14630 && $asc <= -14150) || $fir == 'Q') {
return 'Q';
}
if (($asc >= -14149 && $asc <= -14091) || $fir == 'R') {
return 'R';
}
if (($asc >= -14090 && $asc <= -13319) || $fir == 'S') {
return 'S';
}
if (($asc >= -13318 && $asc <= -12839) || $fir == 'T') {
return 'T';
}
if (($asc >= -12838 && $asc <= -12557) || $fir == 'W') {
return 'W';
}
if (($asc >= -12556 && $asc <= -11848) || $fir == 'X') {
return 'X';
}
if (($asc >= -11847 && $asc <= -11056) || $fir == 'Y') {
return 'Y';
}
if (($asc >= -11055 && $asc <= -10247) || $fir == 'Z') {
return 'Z';
} return '';
}
php---------取汉字的第一个字的首字母的更多相关文章
- SQL汉字转拼音函数-支持首字母、全拼
SQL汉字转拼音函数-支持首字母.全拼 FROM :http://my.oschina.net/ind/blog/191659 作者不详 --方法一sqlserver汉字转拼音首字母 --调用方法 s ...
- 使用PHP获取汉字的拼音(全部与首字母)
<?php /** * 取汉字拼音 * edit by www.jbxue.com */ class GetPingYing { private $pylist = array( 'a'=> ...
- java汉字转拼音以及得到首字母通用方法
package oa.common.utils; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny ...
- java根据汉字获取全拼和首字母
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...
- vue集成汉字转拼音或提取首字母
需求: 有时我们为了节省用户的维护量,需要根据中文生成出相应的拼音和缩写 解决: 此方法是利用汉字和Unicode编码对应找到相应字母 一.编写汉字和编码 ...
- 【Java】使用pinyin4j获取汉字的全拼或首字母
汉字转拼音的工具类,常用于做汉字拼音的模糊查询. https://www.cnblogs.com/htyj/p/7891918.html
- php里获取第一个中文首字母并排序
需求里结算首页需要按门店的首字母A-Z排序.我的数据结构原本是这样的: Array ( [0] => Array ( [sid] => 2885842 [recetcstoredpay] ...
- MySQL数据库获取多个汉字拼音的首字母函数
需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效 ...
- Java 获取汉字串首字母并大写和获取汉字的全拼,英文字符不变
在开发中我们难免会遇到需要提出汉字中的拼音的首字母.提出汉字的拼音,接着便介绍一个工具类 pinyin4j.jar,首先需要下载 jar 包. Pinyin4j是一个功能强悍的汉语拼音工具包,是sou ...
随机推荐
- postgresql----SELECT
示例1.简单查询 使用*查询表所有的字段,也可以指定字段名查询 test=# select * from tbl_insert; a | b ---+---- | sd | ff ( rows) te ...
- 表格table列宽度控制<colgroup>
<colgroup> 标签用于对表格中的列进行组合,以便对其进行格式化. 通过使用 <colgroup> 标签,可以向整个列应用样式,而不需要重复为每个单元格或每一行设置样式. ...
- mysql : show processlist 详解
最近排查一些MySQL的问题,会经常用到 show processlist,所以在这里把这个命令总结一下,做个备忘,以备不时只需. 首先是几条常用的SQL. 1.按客户端 IP 分组,看哪个客户端的链 ...
- 字符串函数---atof()函数详解
atof()函数 atof(),是C 语言标准库中的一个字符串处理函数,功能是把字符串转换成浮点数,所使用的头文件为<stdlib.h>.该函数名是 “ascii to floating ...
- 【ArcGIS for SivlerLight api(3)】基础图层增删改查
1.基础底图通常使用TiledLayer或者ArcGISDynamicLayer. 本质上都是在本地加载栅格图片.后台生成策略不同而已.从Vs2010的控件栏上拖过来的Map控件默认添加的底图是Esr ...
- CF734F Anton and School 构造+数论
正解:构造 解题报告: 先放下传送门QwQ 这题首先要知道一个结论:(x&y)+(x|y)=x+y 还是能理解的趴? 所以我们把bi+ci就能得到∑a+n*a[i] 然后我们就能成功求出∑a ...
- Navicat连接服务器上的Mysql数据库
- 商铺项目(Redis缓存)
AOF,RDB是两种 redis持久化的机制.用于crash后,redis的恢复. 两种区别就是,AOF是持续的用日志记录写操作,crash后利用日志恢复:RDB是平时写操作的时候不触发写,只有手动提 ...
- centos 配置mysql
1.在线安装 1.首先检测一下,mysql之前有没有被安装 命令:rpm -qa | grep mysql 2.删除mysql的命令: rpm -e --nodeps `rpm -qa | grep ...
- 第1章 1.7计算机网络概述--理解OSI参考模型分层思想
OSI七层模型,知识参考理论. 分层标准的好处: 1.不同的硬件生产商生产的硬件产品,连通后就可以用了,有助于互联网发展. 2.分层,分成不同的模块,某一层的变化,不会影响其他层.如:IPv4改为IP ...