这篇文章主要为大家详细介绍了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提取中英文词语及数字首字母的简单示例相关推荐

  1. js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 az排序

    js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序--z~a排序 & a~z排序 示例1 let arr = ["贵州省", "江苏省", & ...

  2. linux 取出字符中数字,使用awk提取字符串中的数字或字母

    1.提取字符串中的数字$ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ~ ...

  3. awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母

    1.提取字符串中的数字 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ...

  4. python单词首字母大写_在Python中将每个单词的首字母大写

    python单词首字母大写 Here, we are implementing a python program to capitalizes the first letter of each wor ...

  5. php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...

    PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo);             // ...

  6. java bean 首字母大写_javaBean命名规范 get / set 后的首字母大写

    javaBean命名规范 Sun 推荐的命名规范 1 ,类名要首字母大写,后面的单词首字母大写 2 ,方法名的第一个单词小写,后面的单词首字母大写 3 ,变量名的第一个单词小写,后面的单词首字母大写 ...

  7. 根据首字母排序英文名c语言,英文名按首字母排序的问题

    2015-01-25 回答 nba截止2014-15赛季存在的球队英文名字按照首字母排序如下: atlanta hawks atl(亚特兰大老鹰) boston celtics cel(波士顿凯尔特人 ...

  8. java取拼音首字母_java怎么根据汉字获取字的拼音首字母

    展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...

  9. oracle 首位是字母,Oracle 10g如何对用户姓名,按首字母排序、查询

    首先介绍Oracle 9i新增加的一个系统自带的排序函数 1.按首字母排序 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M   按 ...

最新文章

  1. WC2018集训 吉老师的军训练
  2. java培训班如何选择
  3. python中读取word信息_Python实现批量读取word中表格信息的方法
  4. 网站SEO秒收录对网站有哪些要求?
  5. Oracle Eneterprise Linux 5.8上安装Database 12c
  6. 使用android studio查看内存,Android Studio Profiler使用心得 检测内存泄露问题
  7. k8s API编程:kubebuilder实战案例sidecarset
  8. 短视频出海的关键指标、挑战及应对
  9. 使用 Arduino 和 LM35 温度传感器监测温度
  10. 大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计
  11. python 数学公式显示_ipython jupyter notebook中显示图像和数学公式实例
  12. java的map集合_Java集合之Map
  13. 字体 素材_4个网站,涵盖几乎所有素材,字体、设计、图片各种资源管够
  14. altium pcb 信号高亮_作为PCB工程师,你需要了解这几个设计指南
  15. [Android Pro] RecyclerView实现瀑布流效果(二)
  16. Java常见加密方式
  17. wxPython 记事本
  18. npm创建vue项目
  19. 51单片机C语言us级延时函数
  20. 打印机基本故障及解决方案

热门文章

  1. Spring Boot 高效入门实战
  2. “大鳄”伪装小职员,涉案金额达 5 亿!全球最大游戏外挂案告破
  3. 谁说数学好编程就好了?MIT告诉你:不对!
  4. 开发者实测 M1 芯片报告:除了大型应用程序启动慢点,整体性能优秀!
  5. 双十一终极预告:免单+半价+100% 中奖,没有套路,直降直减!
  6. 蚂蚁集团回应与腾讯微信支付竞争;华为余承东:鸿蒙现达到安卓70-80%水平;C++20 标准草案获批准| 极客头条
  7. 程序员,别逼自己学 AI 了,掌握正确的方法,开发水平暴增!
  8. 复工大势下,远程办公的科技企业只能“坐以待毙”吗?
  9. 2684 亿背后的虚拟化技术:双 11 All on 神龙 | 问底中国 IT 技术演进
  10. @程序员,我最多再等你两天!