Мне нужна как раз такая возможность. Использую следующий код:
$str = 'Проект, задуманный как «дом для отдыха в естественной обстановке»,
представляет небольшой двухэтажный прямоугольник (5,85х7 м) со скатной
кровлей, позволяющий в полной мере насладиться окружающим видом на горы.
В общем-то простой и небольшой дом получился довольно гармоничным,
заметным и современным.';
$wc = str_word_count($str);
echo "Всего слов: $wc.";</span>
Естественно, результат при кодировке UTF-8 некорректный: выдает 69 символов.
Вопрос: как же можно воспользоваться этой функцией в UTF-8 и, если нельзя, то как можно иначе вытащить кол-во слов в строке с этой кодировкой?
Спасибо.
Спустя 19 минут, 55 секунд (24.02.2010 - 12:52) baston написал(а):
Технически, можно тупо разбить строку на массивы и получить искомое независимо от кодировки:
Но вот насколько это корректно?
$arrwc = explode(" ", $str);
$wc = array_values($arrwc);
echo count($wc);
Но вот насколько это корректно?
Спустя 25 минут, 46 секунд (24.02.2010 - 13:18) pas написал(а):
http://php.net/manual/en/function.str-word-count.php
Тут прямо в коментах можно найти функции подсчёта слов для кодировки UTF-8
Тут прямо в коментах можно найти функции подсчёта слов для кодировки UTF-8
Спустя 1 минута, 34 секунды (24.02.2010 - 13:20) baston написал(а):
Да, я читал эти комменты...
Все как-то усложнено.
Все как-то усложнено.
Спустя 14 минут, 12 секунд (24.02.2010 - 13:34) pas написал(а):
В принципе да, на мой взгляд тогда Ваш способ будет правильным. Правда я бы его чуть укоротил:
$wc = count(explode(' ',$str));
Спустя 36 минут, 41 секунда (24.02.2010 - 14:11) baston написал(а):
Спасибо.