И ещё один косяк PHP (str_word_count)

10.05.2011

Оказывается, функция str_word_count() работает только с латинскими символами. Если хотите обрабатывать тексты на других языках, потрудитесь написать в параметре charlist весь их алфавит. Красота.

Комментарии

  1. # tulvit

    Мутная какая-то функция. Чем что-то типа этого

    count(explode(’ ‘, ‘считаем слова в этом предложении’));

    не устраивает (если нужно только кол-во слов)?

    *в первом аргументе explode в кавычках пробел стоит, но парсером вырезался

  2. # tulvit

    *Сорри, туплю, мой пример не совсем в тему.

  3. # Тормоз

    Угу, не то считаешь.

  4. # tulvit

    Хотя я до сих пор не понял смысла этой функции=( И чем она отличается от explode. Только что разделитель не один, а несколько (цифры, точка, запятая…). Так по логике строку прогнать через регулярку (или строковыми функциями в цикле), заменив все нужные символы на один дефолтный разделитель – и уже заюзать тот же explode.

  5. # Kichrum

    tulvit, могут быть еще точки, запятые, дефисы и т.д.

    Кстати на счет кириллицы. С str_word_count() всё понятно – параметром передать. А как вот достучаться, скажем, до третьего символа кириллической строки? В латинице просто $str2. Аналогично интересует strtoupper(), strcasecmp() для кириллицы UTF-8. Желательно (но не обязательно) чтоб работало и на винде. Прямо сейчас мучаюсь над этим. Буду очень благодарен за ответ!

  6. # Kichrum

    мда… Вместо $str2 следует читать $str [ 2 ] конечно.

  7. # tulvit

    Kichrum: Аналогично интересует strtoupper()

    О! Это я помню =)
    mb_convert_case($string, MB_CASE_UPPER, ‘utf-8’);

    Kichrum: могут быть еще точки, запятые, дефисы и т.д.

    Так в том-то и дело, что в документации по str_word_count() не указано, какие она символы считает разделителями, лучше уж в таком случае свой парсер приделать.

  8. # Тормоз

    Юзай mb_strtoupper и т. п.

  9. # Тормоз

    И установить для библиотеки mb_internal_encoding('UTF-8');

  10. # Kichrum

    Точно, раньше не сталкивался – вот и не знал об mb_. Теперь капча получилась.

  11. # Тормоз

    Матершинная она у тебя какая-то. Вот для чего нужны mb человеку, оказывается.

Комментирование этой статьи закрыто.

Интересное Покупки ТехникаРазное Отдых Статьи Строительство Услуги Общество Хобби Культура Советы Уют