ProfiPHPProfiPHP
Категория: Функции обработки строк

Функция Str_word_count

Функция Str_word_count возвращает информацию о словах, входящих в строку.
mixed str_word_count( string $string [, int $format = 0 [, string $charlist ]] )
Функция Str_word_count подсчитывает количество слов, входящих в строку String. Если необязательный аргумент Format не передан, возвращается целое число, равное количеству слов. В случае, если указан аргумент Format, возвращается массив, содержимое которого зависит от значения Format. Ниже описаны допустимые значения аргумента данного аргумента и соответствующие им возвращаемые значения.

Параметр String являет собой строку для вычисления слов.

Параметр Format указывает возвращаемое значение данной функции: 0 - возвращает количество найденных слов, 1 - возвращается массив, содержащий все слова, входящие в строку, 2 - возвращается массив, индексами которого являются позиции в строке, а значениями - соответствующие слова.

Параметр Charlist содержит список дополнительных символов, которые будут рассматриваться как "слово".

Функция Str_word_count возвращает массив или целое число, в зависимости от указанного параметра Format.

Пример использования функции Str_word_count:
$str = "first second third";
echo str_word_count( $str ); // 3
print_r( str_word_count( $str, 1 ) ); // Array ( [0] => first [1] => second [2] => third )
print_r( str_word_count( $str, 2 ) ); // Array ( [0] => first [6] => second [13] => third )
Данная функция имеет свои подводные камни, а именно работа с русским текстом. По умолчанию функция Str_word_count не умеет работать с русским текстом и выводит пустой массив. Но со временем разработчики усовершенствовали ее и начиная с версии PHP 5.1.0 добавили параметр Charlist, в котором можно указать все символы, которые будут учитываться в слове. Дописав все русские буквы в данный дополнительный параметр функция Str_word_count будет выводить правильные результаты, например:
$str = "первый второй третий";
echo str_word_count( $str, 0, "АаБбВвГ㥴ДдЕеЁёЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЪъЫыЮюЬьЭэЯя" ); // 3
В данном примере перечислены все символы русского и украинского языков.

Добавить комментарий

Имя:
Текст комментария: