欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中文查找。

程序员文章站 2024-02-02 11:43:04
...
//比如现在有个数组$arr=array('语文'=>'yw','数学'=>'xx','英语'=>'yy','物理'=>'wl');//php接收用户输入的一段文字//假如为"英语好难啊,数学好简单"//那么我需要在这段文字中找出是否存在在数组中的key,即英语跟数学 ,得到他们对应的value值.//大概就是这样一个功能.


回复讨论(解决方案)

首先得分词
完后再匹配

分词有扩展模块 可以试一下.

这是关键字匹配,与分词没什么关系

$arr = array('语文'=>'yw','数学'=>'xx','英语'=>'yy','物理'=>'wl');$txt = "英语好难啊,数学好简单";foreach($arr as $k=>$v) $p[] = "/$k/e";preg_replace($p, '$res["$0"]=$arr["$0"]', $txt);print_r($res);
Array
(
[数学] => xx
[英语] => yy
)

更高效的的可用 trie 算法。我发过,精华区可找到

这个需要分词搜索了 像Sphinx

相关标签: PHP中文查找。