最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP函數(shù)實(shí)現(xiàn)從一個(gè)文本字符串中提取關(guān)鍵字的方法

 更新時(shí)間:2015年07月01日 12:06:24   作者:不吃皮蛋  
這篇文章主要介紹了PHP函數(shù)實(shí)現(xiàn)從一個(gè)文本字符串中提取關(guān)鍵字的方法,涉及php針對(duì)字符串的遍歷與查找等操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP函數(shù)實(shí)現(xiàn)從一個(gè)文本字符串中提取關(guān)鍵字的方法。分享給大家供大家參考。具體分析如下:

這是一個(gè)函數(shù)定位接收一個(gè)字符串作為參數(shù)(連同其他配置可選參數(shù)),并且定位該字符串中的所有關(guān)鍵字(出現(xiàn)最多的詞),返回一個(gè)數(shù)組或一個(gè)字符串由逗號(hào)分隔的關(guān)鍵字。功能正常工作,但我正在改進(jìn),因此,感興趣的朋友可以提出改進(jìn)意見(jiàn)。

/**
 * Finds all of the keywords (words that appear most) on param $str 
 * and return them in order of most occurrences to less occurrences.
 * @param string $str The string to search for the keywords.
 * @param int $minWordLen[optional] The minimun length (number of chars) of a word to be considered a keyword.
 * @param int $minWordOccurrences[optional] The minimun number of times a word has to appear 
 * on param $str to be considered a keyword.
 * @param boolean $asArray[optional] Specifies if the function returns a string with the 
 * keywords separated by a comma ($asArray = false) or a keywords array ($asArray = true).
 * @return mixed A string with keywords separated with commas if param $asArray is true, 
 * an array with the keywords otherwise.
 */
function extract_keywords($str, $minWordLen = 3, $minWordOccurrences = 2, $asArray = false)
{
  function keyword_count_sort($first, $sec)
  {
    return $sec[1] - $first[1];
  }
  $str = preg_replace('/[^\\w0-9 ]/', ' ', $str);
  $str = trim(preg_replace('/\s+/', ' ', $str));
  $words = explode(' ', $str);
  $keywords = array();
  while(($c_word = array_shift($words)) !== null)
  {
    if(strlen($c_word) <= $minWordLen) continue;
    $c_word = strtolower($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) break;
    array_push($final_keywords, $keyword_det[0]);
  }
  return $asArray ? $final_keywords : implode(', ', $final_keywords);
}
//How to use
//Basic lorem ipsum text to extract the keywords
$text = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Curabitur eget ipsum ut lorem laoreet porta a non libero. 
Vivamus in tortor metus. Suspendisse potenti. Curabitur 
metus nisi, adipiscing eget placerat suscipit, suscipit 
vitae felis. Integer eu odio enim, sed dignissim lorem. 
In fringilla molestie justo, vitae varius risus lacinia ac. 
Nulla porttitor justo a lectus iaculis ut vestibulum magna 
egestas. Ut sed purus et nibh cursus fringilla at id purus.
";
//Echoes: lorem, suscipit, metus, fringilla, purus, justo, eget, vitae, ipsum, curabitur, adipiscing
echo extract_keywords($text);

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

梨树县| 白城市| 永济市| 厦门市| 沾化县| 白城市| 黔江区| 南部县| 昌江| 光山县| 南昌县| 汝城县| 烟台市| 梁平县| 福海县| 故城县| 唐河县| 合江县| 夏河县| 洪泽县| 广元市| 抚州市| 正镶白旗| 嘉鱼县| 永登县| 上杭县| 漳平市| 新营市| 吴堡县| 阿克苏市| 台山市| 北辰区| 尼玛县| 潜江市| 桦川县| 衡阳市| 浦城县| 江永县| 册亨县| 松江区| 阿拉尔市|