PHP中文分词,自动获取关键词,方便用于网站分词查询,
PHP分词类库下载链接: https://pan.baidu.com/s/1N_hUhP_c9fxC_2ErVk2GuA 提取码: twyw
具体使用方式:
require (EXTEND_PATH.'fenci/phpanalysis.class.php');//引入类文件 \PhpAnalysis::$loadInit = false; $pa = new \PhpAnalysis('utf-8', 'utf-8', false); $pa->LoadDict(); $pa->SetSource($keyword);//带入需要分词的语句 $pa->StartAnalysis(false); $keywords = $pa->GetFinallyResult();
个人在thinkcmf中使用案列代码:
//构建分词查询MYSQL where条件语句 $kew_a = array(); if (strlen($keyword)>6) { require (EXTEND_PATH.'fenci/phpanalysis.class.php'); // import('fenci/phpanalysis.class.php',EXTEND_PATH); \PhpAnalysis::$loadInit = false; $pa = new \PhpAnalysis('utf-8', 'utf-8', false); $pa->LoadDict(); $pa->SetSource($keyword); $pa->StartAnalysis(false); $keywords = $pa->GetFinallyResult(); $kew_a = explode(',', $keywords); } else{ $kew_a[] = $keyword; } if ($type == 1) { $where = "post.create_time >= 0 AND category_id NOT IN(55,56)"; if ($kew_a) { $key_where = ' AND ('; foreach ($kew_a as $v) { $key_where .= "LOCATE('{$v}',post.post_title) OR LOCATE('{$v}',post.post_content) OR "; } $key_where = trim($key_where, 'OR '); $where = $where . ' ' . $key_where . ')'; } } elseif ($type == 2) { $where = "post.create_time >= 0 AND category_id=58"; if ($kew_a) { $key_where = ' AND ('; foreach ($kew_a as $v) { $key_where .= "LOCATE('{$v}',post.post_title) OR "; } $key_where = trim($key_where, 'OR '); $where = $where . ' ' . $key_where . ')'; } } elseif ($type == 3) { $where = "post.create_time >= 0 AND category_id=59"; if ($kew_a) { $key_where = ' AND ('; foreach ($kew_a as $v) { $key_where .= "LOCATE('{$v}',post.post_title) OR "; } $key_where = trim($key_where, 'OR '); $where = $where . ' ' . $key_where . ')'; } }
如果本文对你有帮助,欢迎打赏本站