墨文院 发文

php使用PHPAnalysis提取关键字中文分词

+关注 逍遥涛子

php使用PHPAnalysis提取关键字中文分词

需求:做SEO的keywords时,需要从标题或者正文里提取关键字

1.PHPAnalysis下载地址

http://www.phpbone.com/phpanalysis/#api

原下载地址打不开,已上传到github

https://github.com/feixuekeji/PHPAnalysis

下载后解压放到extend目录下(以tp5为例,其他目录也行)

20190819111628515.png

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);
我要反馈

本文链接:http://www.71us.com/p/161276952632.html
下一篇:div吸顶效果 css3 div吸顶