>  기사  >  백엔드 개발  >  PHP中文查找。

PHP中文查找。

WBOY
WBOY원래의
2016-06-23 14:04:081099검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.