Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wychwycenie z tekstu listy najczęstrzych słów.
Forum PHP.pl > Forum > PHP
Octobus
Mam za zadanie wychwycić z tekstu listę najczęściej występujących słów i posegregować je względem ilości występowania. Spotkał się ktoś z podobnym problemem bo zastanawiam się właśnie jak do tego podejść ;/
mortus
Trzeba:
1. usunąć wszystkie znaki interpunkcyjne (preg_replace),
1.a. usunąć wyrazy (przysłówki, zaimki itp.), które nie będą zliczane (również preg_replace),
2. zamienić wszystkie litery na małe (strtolower),
3. wczytać wyrazy do tablicy (explode(' ', $tekst)),
4. zliczyć wszystkie wartości (i tutaj PHP daje nam do dyspozycji funkcję array_count_values).

Jeśli tekst jest długi (waga powyżej dajmy na to 50MB), to najprawdopodobniej trzeba będzie go podzielić na fragmenty i wykorzystać więcej funkcji operujących na tablicach.
Octobus
array_count_values właśnie tego nie znałem smile.gif

Mam jeszcze jeden motyw. W pobranych słowach są znaki których nie chciałbym ;/ czyli np
Cytat
[międzynarodowej,]
["Wyobraźmy]
[nas:]
[„Nasz]
[©] <-- na to nie dziala mb_strlen


Nie wiem jak "złapać" wszystkie te niechciane rzeczy zeby je pozniej usunac ;/
thek
Przeczytaj raz jeszcze dokładnie punkt 1. i 1.a. bo to jest rozwiązanie Twojego problemu.
Octobus
Wiem jak to usunac ale nie wiem jak "chwycic" wszystkie nieinteresujace mnie slowa. Jedyny pomysl to tablica z nimi ...
Pawel_W
odnośnie usuwania, prościej chyba http://www.php.net/manual/pl/function.str-word-count.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.