Dzisiaj chciałbym Wam przedstawić moje nowe wypociny, czyli klasę PHP do generowania najpopularniejszych słów z tekstu. Może się przydać niektórym, więc publikuję ją.
UWAGA! Skrypt generujący składnię źle wykonuje swoją powinność z tym kodem, więc proszę się nie przejmować kolorami. Zapewniam, że kod jest poprawny.
<?php /** * * @copyright (c) 2008 Łukasz "Rutek" Rutkowski * @license http://creativecommons.org/licenses/by/2.5/pl/deed.en_US Creative Commons Attribution 2.5 License * */ class keywords { public $keywords; private $text; //Put text to $this->text var //$text - string - work text public function put_text($text) { //Delete HTML tags $text = strip_tags($text); $replace = array(',', '.', '"', '\'', '?', '!'); $text = str_replace($replace, '', $text); $this->text = $text; } //Get keywords //$how_many - integer - count of keywords to return //$add_count - TRUE or FALSE - add count of occurrence to array ( ? ) public function get_keywords($how_many, $add_count = FALSE) { //get words $words = explode(' ', $this->text); //sort array by key ( alphabetical ) arsort($words); $count = count($words); $i = 0; $word_count = 0; //make keywords map while($i < $count) { $word2 = $words[$i]; if($words[$i] != '') { if(!isset($word[$word2])) { $word[$word2] = 1; } else { $word[$word2]++; } } $i++; } //sort array by value ( reverse ) arsort($word); $i = 0; //make a final keywords map while($i < $how_many) { if($i == 0) { $word4 = current($word); if($add_count == TRUE) { $word3 = array($word4, key($word)); } else { $word3 = key($word); } } else { $word4 = next($word); if($add_count == TRUE) { $word3 = array($word4, key($word)); } else { $word3 = key($word); } } $words2[$i] = $word3; $i++; } //set $words2 as value of $this->keywords $this->keywords = $words2; } //unset strings and arrays public function __destruct() { unset($this->text); unset($this->keywords); } } ?>
| Za ten artykuł podziękowano 0 raz(y). Chcesz i Ty ? |