Подсчет количества слов в строке

Если в тексте только латиница, то проще всего использовать функцию str_word_count():

Скопировано
$str = 'qqq www eeeee';
echo str_word_count( $str);   // вернет 3
$str = 'qqq www ee5eee';
echo str_word_count( $str);   // а вот так уже 4
Показать код

С русским текстом чуть сложнее.

Вариант 1

Скопировано
str_word_count( $str, 0, 'АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя' );
Показать код

Вариант 2

Скопировано
 echo count( preg_split( '/\s+/u', $str, null, PREG_SPLIT_NO_EMPTY ) ); 
Показать код

Вариант 3

Скопировано
count( array_filter( explode( ' ', $str ) ) );
Показать код

Все три варианта при $str = 'здесь      какой-то русский and english text'; вернут 6.