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 . ')';
}
}如果本文对你有帮助,欢迎打赏本站

支付宝扫码打赏
微信扫码打赏
