この記事では、文字列からキーワードを抽出するメソッドを実装するPHP関数の例を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
これは、文字列をパラメータとして(その他の設定オプションのパラメータとともに)受け取り、その文字列内のすべてのキーワード(最も多く出現する単語)を検索し、配列またはコンマ区切りのキーの文字列を返す関数ポジショニングです。キャラクター。この機能は問題なく動作しますが、現在改善中です。興味のある友人が改善を提案できるようにしています。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
/** * param $str のすべてのキーワード (最もよく出現する単語) を検索します * 最も多く発生したものから少ないものの順に返します。 * @param string $str キーワードを検索する文字列。 * @param int $minWordLen[オプション] キーワードとみなされる単語の最小長 (文字数)。 * @param int $minWordOccurrences[オプション] 単語が出現する必要がある最小回数 * パラメータ $str がキーワードとみなされます。 * @param boolean $asArray[オプション] 関数が を含む文字列を返すかどうかを指定します* カンマで区切られたキーワード ($asArray = false) またはキーワード配列 ($asArray = true)。 * @returnmixed パラメータ $asArray が true の場合、カンマで区切られたキーワードを含む文字列 * それ以外の場合はキーワードを含む配列。 */ 関数 extract_keywords($str, $minWordLen = 3, $minWordOccurrences = 2, $asArray = false) { 関数keyword_count_sort($first, $sec) { $sec[1] - $first[1] を返します; } $str = preg_replace('/[^\w0-9 ]/', ' ', $str); $str = トリム(preg_replace('/s+/', ' ', $str)); $words =explode(' ', $str); $キーワード = 配列(); while(($c_word = array_shift($words)) !== null) { if(strlen($c_word) $c_word = strto lower($c_word); if(array_key_exists($c_word, $keywords)) $keywords[$c_word][1]++; else $keywords[$c_word] = array($c_word, 1); } usort($keywords, 'keyword_count_sort'); $final_keywords = array(); foreach($keywords as $keyword_det) { if($keyword_det[1] < $minWordOccurrences) ブレーク; array_push($final_keywords, $keyword_det[0]); } $asArray を返す ? $final_keywords : implode(', ', $final_keywords); } //使い方 //キーワードを抽出するための基本的な lorem ipsum テキスト $text = " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget ipsum ut lorem laoreet porta a non libero. ホラー・メトゥスのヴィバマス・キュラビトゥール。 metus nisi、adipiscing eget placerat suscipit、suscipitvitae felis の整数、sed dignissim lorem。 Fringilla Moestie justo、vitae varius risus lacinia ac.で Nulla portitor justo a lectus iaculis utvetibulum magna ID purus で Ut sed purus et nibh cursus fringilla 」; //エコー: ロレム、サシピット、メトゥス、フリンギラ、プルス、ジュスト、エゲット、ヴィタエ、イプサム、キュラビトゥール、アディピシング echo extract_keywords($text); |
この記事が皆様の PHP プログラミング設計に役立つことを願っています。