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

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

1.PHPAnalysis下载地址

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']);

========================================================================

根据上例,自己把下载的这个类库放到extend文件夹中

在控制器中,引用这个类库:

import('WordAnalysis.Analysis', EXTEND_PATH,'.php');

在方法中

    /**
     * 分词查询
     * @return [type] [description]
     */
    public function fenciselect(){
        $obj = new \WordAnalysis\Analysis();
        $title="碳fdd的风格的法国红酒法国还法师风格";
        $keyword = $obj::getKeywords($title);
        var_dump($keyword);

    }

前台输出的结果是

string(24) "风格,法国,fdd,红酒"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值