php 拼音搜索,通过拼音模糊搜索汉字的功能实现
一、原由
前一段时间用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 拼音搜索,通过拼音模糊搜索汉字的功能实现相关推荐
- 通过拼音模糊搜索汉字的功能实现
一.原由 前一段时间用php实现通讯录系统,需要用到拼音查找汉字功能,匹配通讯录的姓名字段,于是在网上搜索已有的开源代码,下面总结和分析一下思路和具体实现. 二.思路 查找了网上的多种解决方案,大致分 ...
- 【Solr】 solr对拼音搜索和拼音首字母搜索的支持
问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的. 用lucene实现 1.建索引, 多建一个索引字段 ...
- java拼音搜索排序算法_Java汉字按照拼音排序
最近项目上使用到汉字排序的问题,网上搜索了一下后普遍使用下面的方法比较. @Test public void test_sort_pinyin() { Collator cmp = Collator. ...
- android 拼音搜索联系人分析与实现(支持多音字,支持T9搜索,支持Qwerty搜索)
最近的项目开发过程中涉及到了联系人T9键盘搜索和Qwerty键盘搜索,也分别写了相关的博客: <android T9 搜索联系人分析与实现(支持多音字)> <android Qwer ...
- vue+iview实现拼音、首字母、汉字模糊搜索
最近项目做的后台管理系统中,要求实现一个支持拼音.首字母和汉字模糊搜索的下拉框.项目是用vue+iview做的,iview中有select远程搜索.但是,iview框架也有弊病就是会将输入框中的输入值 ...
- element-ui中el-select下拉框数据过多,用pinyin-match实现拼音、首字母、汉字等模糊搜索
人狠话不多,上图! pinyin-match库 也是项目需要,由于下拉框的数据过多,使用人员不好选择,就做个拼音,大小写字母以及汉字的模糊搜索,结果就找到来这个 pinyin-match库,能够使用拼 ...
- php 获取 拼音,php根据汉字获取拼音(php基于拼音搜索实现原理)
php根据汉字获取拼音(php基于拼音搜索实现原理) 代码一:获取字符串汉字首字母,兼容GBK和UTF-8<?php function getfirstchar($s0){ //获取单个汉字拼音 ...
- 自制Unity文件查找器,支持拼音搜索
前言 一个大型项目,配置表上千个是很正常的,这个时候想要搜索某个配置表,是有点蛋疼的事情. 自己写个配置查找器吧,效果如下: 优点: 搜索速度快: 支持拼音搜索: 支持快速打开: 缺点: 拼音只能挨个 ...
- 谈谈我做拼音搜索的一点经验
谈谈我做拼音搜索的一点经验 需要注意的一些事情 本文使用的为 Java 语言解决方案. 搜索方法上,按照个人理解,有两点关键: 分词 将类似 "women" 这样的词分解成 &qu ...
- select2.js实现拼音搜索支持
拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音(或拼音首字母),然后与输入的字母进行比较,如果包含则被检索出来. 引用插件: 1. pinyin.js文件用于将汉字转化为拼音的JavaScrip ...
最新文章
- Delphi 之Copyrect的使用
- 2018牛客网暑期ACM多校训练营(第十场)J(二分)
- Magento开发的特点有哪些?
- Ubuntu中的root权限
- 【JavaSE_08】Java中static、继承、重写
- python封装方法有几种_Python打包exe文件方法汇总【4种】
- U3D 文档 GPU INSTANCING
- python numpy中sum()时出现负值
- Oracle AWR报告提取方法
- 使用queryperf对DNS服务器作压力测试
- ORB-SLAM2运行时遇到的问题
- 小程序内容安全API
- 衣带渐宽终不悔,为伊消得人憔悴
- Mex HDU - 4747(递推, 思维)
- HTML5CSS3:Day03 2D动画 3D动画 CSS3过渡
- 5个免费的AI智能抠图工具,一键去除图片背景!
- python全国计算机等级考试_Python二级教程(全国计算机等级考试)
- 多线程模式下保证事物的一致性
- requests+bs4批量爬取反爬虫图片网站
- [转]React 入门实例教程
热门文章
- 战略参股奥迪威,德赛西威“躬身入局”超声波雷达
- 《善用佳软:高效能人士的软件应用之道》一2.2 流程图绘制软件:免费的Visio替代品...
- github电脑壁纸_这可能是2020年最好的电脑壁纸软件推荐文章!
- 新的特洛伊木马程序SectopRAT用以控制浏览器会话
- 怎样绘制流程图?分享拼多多购物流程图模板及绘制技巧
- mx350显卡天梯图_不可错过的2020显卡天梯图,选卡详解
- 关于RJ45插座(HR911130C)硬件连接
- 我的世界(15)-删除服务器地图区块(MCedit)
- 常用网络特殊符号大全(含彩色表情符号)
- SAP物料编码- -