php为首字母的词语,PHP提取中英文词语及数字首字母的简单示例
这篇文章主要为大家详细介绍了PHP提取中英文词语及数字首字母的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!
最近项目有个需求,在一个中英文(包括阿拉伯数字0-9)的海量词库中,提取每一个词语的首字母:
gannicus——>G
自由自在——>Z
2B——>E
傻X——>S
代码如下:
private function getfirstchar($s0){
$s=iconv('UTF-8','gb2312', $s0);
if (ord($s0)>128) { //汉字开头
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319 and $asc<=-20284)return "A";
if($asc>=-20283 and $asc<=-19776)return "B";
if($asc>=-19775 and $asc<=-19219)return "C";
if($asc>=-19218 and $asc<=-18711)return "D";
if($asc>=-18710 and $asc<=-18527)return "E";
if($asc>=-18526 and $asc<=-18240)return "F";
if($asc>=-18239 and $asc<=-17923)return "G";
if($asc>=-17922 and $asc<=-17418)return "I";
if($asc>=-17417 and $asc<=-16475)return "J";
if($asc>=-16474 and $asc<=-16213)return "K";
if($asc>=-16212 and $asc<=-15641)return "L";
if($asc>=-15640 and $asc<=-15166)return "M";
if($asc>=-15165 and $asc<=-14923)return "N";
if($asc>=-14922 and $asc<=-14915)return "O";
if($asc>=-14914 and $asc<=-14631)return "P";
if($asc>=-14630 and $asc<=-14150)return "Q";
if($asc>=-14149 and $asc<=-14091)return "R";
if($asc>=-14090 and $asc<=-13319)return "S";
if($asc>=-13318 and $asc<=-12839)return "T";
if($asc>=-12838 and $asc<=-12557)return "W";
if($asc>=-12556 and $asc<=-11848)return "X";
if($asc>=-11847 and $asc<=-11056)return "Y";
if($asc>=-11055 and $asc<=-10247)return "Z";
}else if(ord($s)>=48 and ord($s)<=57){ //数字开头
switch(iconv_substr($s,0,1,'utf-8'))
{
case 1:return "Y";
case 2:return "E";
case 3:return "S";
case 4:return "S";
case 5:return "W";
case 6:return "L";
case 7:return "Q";
case 8:return "B";
case 9:return "J";
case 0:return "L";
}
}else if(ord($s)>=65 and ord($s)<=90){ //大写英文开头
return substr($s,0,1);
}else if(ord($s)>=97 and ord($s)<=122){ //小写英文开头
return strtoupper(substr($s,0,1));
}
else
{
return iconv_substr($s0,0,1,'utf-8');//中英混合的词语,不适合上面的各种情况,因此直接提取首个字符即可
}
}
遗留问题:仍有少量词语无法提取,如亘古不灭,的G 没有提取出来
最终效果如图:
注:关于PHP提取中英文词语及数字首字母的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。
关键词:
您可能感兴趣的文章
php为首字母的词语,PHP提取中英文词语及数字首字母的简单示例相关推荐
- js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 az排序
js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序--z~a排序 & a~z排序 示例1 let arr = ["贵州省", "江苏省", & ...
- linux 取出字符中数字,使用awk提取字符串中的数字或字母
1.提取字符串中的数字$ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ~ ...
- awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母
1.提取字符串中的数字 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ...
- python单词首字母大写_在Python中将每个单词的首字母大写
python单词首字母大写 Here, we are implementing a python program to capitalizes the first letter of each wor ...
- php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...
PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo); // ...
- java bean 首字母大写_javaBean命名规范 get / set 后的首字母大写
javaBean命名规范 Sun 推荐的命名规范 1 ,类名要首字母大写,后面的单词首字母大写 2 ,方法名的第一个单词小写,后面的单词首字母大写 3 ,变量名的第一个单词小写,后面的单词首字母大写 ...
- 根据首字母排序英文名c语言,英文名按首字母排序的问题
2015-01-25 回答 nba截止2014-15赛季存在的球队英文名字按照首字母排序如下: atlanta hawks atl(亚特兰大老鹰) boston celtics cel(波士顿凯尔特人 ...
- java取拼音首字母_java怎么根据汉字获取字的拼音首字母
展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...
- oracle 首位是字母,Oracle 10g如何对用户姓名,按首字母排序、查询
首先介绍Oracle 9i新增加的一个系统自带的排序函数 1.按首字母排序 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按 ...
最新文章
- WC2018集训 吉老师的军训练
- java培训班如何选择
- python中读取word信息_Python实现批量读取word中表格信息的方法
- 网站SEO秒收录对网站有哪些要求?
- Oracle Eneterprise Linux 5.8上安装Database 12c
- 使用android studio查看内存,Android Studio Profiler使用心得 检测内存泄露问题
- k8s API编程:kubebuilder实战案例sidecarset
- 短视频出海的关键指标、挑战及应对
- 使用 Arduino 和 LM35 温度传感器监测温度
- 大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计
- python 数学公式显示_ipython jupyter notebook中显示图像和数学公式实例
- java的map集合_Java集合之Map
- 字体 素材_4个网站,涵盖几乎所有素材,字体、设计、图片各种资源管够
- altium pcb 信号高亮_作为PCB工程师,你需要了解这几个设计指南
- [Android Pro] RecyclerView实现瀑布流效果(二)
- Java常见加密方式
- wxPython 记事本
- npm创建vue项目
- 51单片机C语言us级延时函数
- 打印机基本故障及解决方案
热门文章
- Spring Boot 高效入门实战
- “大鳄”伪装小职员,涉案金额达 5 亿!全球最大游戏外挂案告破
- 谁说数学好编程就好了?MIT告诉你:不对!
- 开发者实测 M1 芯片报告:除了大型应用程序启动慢点,整体性能优秀!
- 双十一终极预告:免单+半价+100% 中奖,没有套路,直降直减!
- 蚂蚁集团回应与腾讯微信支付竞争;华为余承东:鸿蒙现达到安卓70-80%水平;C++20 标准草案获批准| 极客头条
- 程序员,别逼自己学 AI 了,掌握正确的方法,开发水平暴增!
- 复工大势下,远程办公的科技企业只能“坐以待毙”吗?
- 2684 亿背后的虚拟化技术:双 11 All on 神龙 | 问底中国 IT 技术演进
- @程序员,我最多再等你两天!