ホームページ  >  記事  >  バックエンド開発  >  PHP中国語検索。

PHP中国語検索。

WBOY
WBOYオリジナル
2016-06-23 14:04:081097ブラウズ

//比如现在有个数组$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 までご連絡ください。