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.