热搜:NVER node 开发 php

PHP中文查找。

2024-09-07 09:55:01
PHP中文查找。

//比如现在有个数组$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