抓取完微信公众号文章后,又要做个提取关键字的功能,大致去网上找了下感谢这位大哥的帮助
由于我保存的文章内容是整个页面的源码,所以有许多HTML的标签,要提取关键字首先要出去html标签,借助strip_tags()函数轻松解决。但后面有发现一些坑爹的小问题,只能一个个的用正则去替换掉。总的来说还是比较简单的问题。下面是代码。
public function actionUpdate($id){
$query=\Yii::$app->db;
$reulrt=$query->createCommand("SELECT * FROM `wenzhang_bendi`WHERE id=".$id)->queryAll();
foreach($reulrt as $key){
$v=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$key['article_info']);
$v=str_replace(' ', '', $v);
$v=strip_tags($v);
//这个地方写上phpanalysis对应放置路径
require_once dirname ( dirname ( __FILE__ ) ) . '/phpanalysis/phpanalysis.class.php';
PhpAnalysis::$loadInit = false;
$pa = new PhpAnalysis ( 'utf-8', 'utf-8', false );
$pa->LoadDict ();
$pa->SetSource ($v);
$pa->StartAnalysis ( true );
$tags = $pa->GetFinallyKeywords ( 5 ); // 获取文章中的五个关键字
// $tagsArr = explode ( ",", $tags );
return $tags;//返回关键字数组
}