php使用PHPAnalysis提取关键字中文分词
php使用PHPAnalysis提取关键字中文分词
需求:做SEO的keywords时,需要从标题或者正文里提取关键字
1.PHPAnalysis下载地址
http://www.phpbone.com/phpanalysis/#api
原下载地址打不开,已上传到github
https://github.com/feixuekeji/PHPAnalysis
下载后解压放到extend目录下(以tp5为例,其他目录也行)

2.封装(如下封装已经在下载的文件夹内了)
<?php
/**
* @auther: xxf
* Date: 2019/8/19
* Time: 11:04
*/
namespace WordAnalysis;
/**
* 中文分词提取关键字
*/
class Analysis
{
/**
* Notes:关键字提取
* @auther: xxf
* Date: 2019/8/19
* Time: 11:09
* @param string $content
* @param int $num 获取数量
* @return string
*/
public static function getKeywords($content = "",$num = 3) {
if (empty ( $content )) {
return '';
}
require_once 'phpanalysis.class.php';
\PhpAnalysis::$loadInit = false;
$pa = new \PhpAnalysis ( 'utf-8', 'utf-8', false );
$pa->LoadDict ();
$pa->SetSource ($content);
$pa->StartAnalysis ( true );
$tags = $pa->GetFinallyKeywords ($num); // 获取文章中的n个关键字
return $tags;//返回关键字
}
}使用方法
$data['seo']['keyword'] = Analysis::getKeywords($article_info['title']);
//或者
//在app/common.php中
function analysis($string='') {
if (empty($string)) {
return $string;
}
return WordAnalysis\Analysis::getKeywords($string);
}
//又或者直接在控制器中
use WordAnalysis\Analysis;
return Analysis::getKeywords($string); 我要反馈
