为了账号安全,请及时绑定邮箱和手机立即绑定

从文本 php 中提取关键字

从文本 php 中提取关键字

PHP
MMTTMM 2021-10-08 13:11:38
我正在尝试从使用所见即所得的描述输入中提取相关关键字,使用多语言英语/阿拉伯语......使用以下功能,但它没有完成我想要的任务。看看我正在使用的功能:   function extractKeyWords($string) {     mb_internal_encoding('UTF-8');     $stopwords = array();     $string = preg_replace('/[\pP]/u', '', trim(preg_replace('/\s\s+/iu', '', mb_strtolower($string))));     $matchWords = array_filter(explode(' ',$string) , function ($item) use ($stopwords) { return !($item == '' || in_array($item, $stopwords) || mb_strlen($item) <= 2 || is_numeric($item));});     $wordCountArr = array_count_values($matchWords);     // <p><p>     arsort($wordCountArr);     return array_keys(array_slice($wordCountArr, 0, 10));   }
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

弄清楚了 !谢谢


function generateKeywords($str)

        {

            $min_word_length = 3;

            $avoid = ['the','to','i','am','is','are','he','she','a','an','and','here','there','can','could','were','has','have','had','been','welcome','of','home','&nbsp;','&ldquo;','words','into','this','there'];

            $strip_arr = ["," ,"." ,";" ,":", "\"", "'", "“","”","(",")", "!","?"];

            $str_clean = str_replace( $strip_arr, "", $str);

            $str_arr = explode(' ', $str_clean);

            $clean_arr = [];

            foreach($str_arr as $word)

            {

                if(strlen($word) > $min_word_length)

                {

                    $word = strtolower($word);

                    if(!in_array($word, $avoid)) {

                        $clean_arr[] = $word;

                    }

                }

            }

            return implode(',', $clean_arr);

        }


查看完整回答
反对 回复 2021-10-08
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信