一、原由

前一段时间用php实现通讯录系统,需要用到拼音查找汉字功能,匹配通讯录的姓名字段,于是在网上搜索已有的开源代码,下面总结和分析一下思路和具体实现。

二、思路

查找了网上的多种解决方案,大致分为几类:

1. 用javascript实现前端实拼音模糊搜索汉字,核心算法有以下2种:

列举所有字符:http://www.cnblogs.com/meteoric_cry/p/5954547.html

也有用ASCII字节码字典来实现字符拼音检索:http://www.jb51.net/article/100864.htm

2. 用数据库函数来实现拼音模糊搜索汉字:

SQL Server:http://blog.csdn.net/lisky119/article/details/8662673

Mysql:http://www.cnblogs.com/zenghansen/p/4846460.html

3. 后端语言逻辑实现拼音模糊搜索汉字:

java:http://blog.csdn.net/zhangfuning1986/article/details/7738875

c#:http://blog.csdn.net/lucky51222/article/details/21068235

4. 用 excel 提前将汉字转换成拼音:http://jingyan.baidu.com/article/48b37f8d39a69c1a646488df.html

三、实现

实际实现中,首先基于现场电脑比较老旧,且浏览器都是老版本,在前端用js实现拼音模糊搜索汉字可能会导致用户系统卡顿的问题,否定了方案1 ;  考虑语言和数据库因素,(php实现后台,mysql数据库) 优先考虑2.2 和4 ;  于是用方案4做了测试,发现实际使用当中,基于ASCII码字典实现的拼音检索汉字功能,有多音字查找的问题,写固定在程序逻辑里之后,后期没办法修正;  因此,采用方案4,再进行拼音修正是一个比较好的方法。

于是就按照方案4的教程,使用MS的EXCEL宏编程功能,复制VBA代码,制作数字签名,然后使用函数进行操作。如教程中所说,有部分汉字识别不出来,就只能手动改了,也算是一个折衷的办法。后来还用拼音检索字段来保存英文名,后期拼音由于多音字识别错误的,可以修正,也还不错。

然后就前端提醒用户使用空格分割多个关键字,后台逻辑用 "%" 做字符串拼接,搜索。

完美!

↓↓↓                (๑❛ᴗ❛๑)

php 拼音搜索,通过拼音模糊搜索汉字的功能实现相关推荐

  1. 通过拼音模糊搜索汉字的功能实现

    一.原由 前一段时间用php实现通讯录系统,需要用到拼音查找汉字功能,匹配通讯录的姓名字段,于是在网上搜索已有的开源代码,下面总结和分析一下思路和具体实现. 二.思路 查找了网上的多种解决方案,大致分 ...

  2. 【Solr】 solr对拼音搜索和拼音首字母搜索的支持

    问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的.  用lucene实现 1.建索引, 多建一个索引字段 ...

  3. java拼音搜索排序算法_Java汉字按照拼音排序

    最近项目上使用到汉字排序的问题,网上搜索了一下后普遍使用下面的方法比较. @Test public void test_sort_pinyin() { Collator cmp = Collator. ...

  4. android 拼音搜索联系人分析与实现(支持多音字,支持T9搜索,支持Qwerty搜索)

    最近的项目开发过程中涉及到了联系人T9键盘搜索和Qwerty键盘搜索,也分别写了相关的博客: <android T9 搜索联系人分析与实现(支持多音字)> <android Qwer ...

  5. vue+iview实现拼音、首字母、汉字模糊搜索

    最近项目做的后台管理系统中,要求实现一个支持拼音.首字母和汉字模糊搜索的下拉框.项目是用vue+iview做的,iview中有select远程搜索.但是,iview框架也有弊病就是会将输入框中的输入值 ...

  6. element-ui中el-select下拉框数据过多,用pinyin-match实现拼音、首字母、汉字等模糊搜索

    人狠话不多,上图! pinyin-match库 也是项目需要,由于下拉框的数据过多,使用人员不好选择,就做个拼音,大小写字母以及汉字的模糊搜索,结果就找到来这个 pinyin-match库,能够使用拼 ...

  7. php 获取 拼音,php根据汉字获取拼音(php基于拼音搜索实现原理)

    php根据汉字获取拼音(php基于拼音搜索实现原理) 代码一:获取字符串汉字首字母,兼容GBK和UTF-8<?php function getfirstchar($s0){ //获取单个汉字拼音 ...

  8. 自制Unity文件查找器,支持拼音搜索

    前言 一个大型项目,配置表上千个是很正常的,这个时候想要搜索某个配置表,是有点蛋疼的事情. 自己写个配置查找器吧,效果如下: 优点: 搜索速度快: 支持拼音搜索: 支持快速打开: 缺点: 拼音只能挨个 ...

  9. 谈谈我做拼音搜索的一点经验

    谈谈我做拼音搜索的一点经验 需要注意的一些事情 本文使用的为 Java 语言解决方案. 搜索方法上,按照个人理解,有两点关键: 分词 将类似 "women" 这样的词分解成 &qu ...

  10. select2.js实现拼音搜索支持

    拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音(或拼音首字母),然后与输入的字母进行比较,如果包含则被检索出来. 引用插件: 1. pinyin.js文件用于将汉字转化为拼音的JavaScrip ...

最新文章

  1. Delphi 之Copyrect的使用
  2. 2018牛客网暑期ACM多校训练营(第十场)J(二分)
  3. Magento开发的特点有哪些?
  4. Ubuntu中的root权限
  5. 【JavaSE_08】Java中static、继承、重写
  6. python封装方法有几种_Python打包exe文件方法汇总【4种】
  7. U3D 文档 GPU INSTANCING
  8. python numpy中sum()时出现负值
  9. Oracle AWR报告提取方法
  10. 使用queryperf对DNS服务器作压力测试
  11. ORB-SLAM2运行时遇到的问题
  12. 小程序内容安全API
  13. 衣带渐宽终不悔,为伊消得人憔悴
  14. Mex HDU - 4747(递推, 思维)
  15. HTML5CSS3:Day03 2D动画 3D动画 CSS3过渡
  16. 5个免费的AI智能抠图工具,一键去除图片背景!
  17. python全国计算机等级考试_Python二级教程(全国计算机等级考试)
  18. 多线程模式下保证事物的一致性
  19. requests+bs4批量爬取反爬虫图片网站
  20. [转]React 入门实例教程

热门文章

  1. 战略参股奥迪威,德赛西威“躬身入局”超声波雷达
  2. 《善用佳软:高效能人士的软件应用之道》一2.2 流程图绘制软件:免费的Visio替代品...
  3. github电脑壁纸_这可能是2020年最好的电脑壁纸软件推荐文章!
  4. 新的特洛伊木马程序SectopRAT用以控制浏览器会话
  5. 怎样绘制流程图?分享拼多多购物流程图模板及绘制技巧
  6. mx350显卡天梯图_不可错过的2020显卡天梯图,选卡详解
  7. 关于RJ45插座(HR911130C)硬件连接
  8. 我的世界(15)-删除服务器地图区块(MCedit)
  9. 常用网络特殊符号大全(含彩色表情符号)
  10. SAP物料编码- -