ホームページ  >  記事  >  バックエンド開発  >  PHP関数で文字列からキーワードを抽出するメソッドを実装_PHPチュートリアル

PHP関数で文字列からキーワードを抽出するメソッドを実装_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:47:59767ブラウズ

文字列からキーワードを抽出するメソッドを実装するPHP関数

この記事では、文字列からキーワードを抽出するメソッドを実装する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、suscipit

vitae 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 プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1025320.html技術記事 PHP 関数で文字列からキーワードを抽出する方法を実装します。 この記事では、PHP 関数で文字列からキーワードを抽出する方法について説明します。参考のために皆さんと共有してください...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。