|
|
|
|
|
для: Саня
(01.03.2007 в 21:51)
| | Ок, еще раз спасибо большое за решение проблемы :) | |
|
|
|
|
|
|
|
для: Слипа
(01.03.2007 в 21:44)
| | Не все проблемы решаются настройкой одной только локали. В частности локаль не решила проблему str_word_count(). | |
|
|
|
|
|
|
|
для: Саня
(01.03.2007 в 21:31)
| | То есть эта функция не понимает русский у всех? Я думала, это только у меня такое происходит.
Потому что нигде про это не написано.
Мне говорили только, что надо с локалью разобраться, поскольку из-за нее str_word_count лажает. | |
|
|
|
|
|
|
|
для: Слипа
(01.03.2007 в 21:03)
| | Такой же вопрос можно задать разработчикам и про остальные языки мира. Невозможно предусмотреть все случаи. Поэтому и был введён третий параметр в функцию str_word_count(). | |
|
|
|
|
|
|
|
для: Саня
(01.03.2007 в 20:58)
| | Теперь понятно!
А можно тогда еще вопрос: почему эта функция сама не понимает русский, если у меня текущая локаль русская (windows-1251)? | |
|
|
|
|
|
|
|
для: Слипа
(01.03.2007 в 20:54)
| | Мне просто впадлу было вручную перечислять все буквы русского алфавита, поэтому я воспользовался тем, что в таблице ASCII все русские буквы (кроме "Ё" и "ё") имеют коды с 192 по 256. Поэтому простым циклом можно сделать это перечисление. Можно переписать так:
<?
$list = "Ёё";
for ( $i = 192; $i < 256; $i++ ) {
$list = $list . chr($i);
}
|
| |
|
|
|
|
|
|
|
для: Саня
(01.03.2007 в 13:25)
| | Большое спасибо. Действительно, так работает.
Правда, мне как новичку еще сложно понять строчку
for ( $i = 192, $list = "Ёё"; $i < 256; $list .= chr($i), $i++ );
|
но я попытаюсь разобраться.
Еще раз огромное спасибо. | |
|
|
|
|
|
|
|
для: Слипа
(01.03.2007 в 01:30)
| | Видимо функция str_word_count() не знает о существовании русского алфавита... но это поправимо:
<?php
for ( $i = 192, $list = "Ёё"; $i < 256; $list .= chr($i), $i++ );
$rus = "Свинство редкостное";
echo "Количество слов в русской строке = ".str_word_count($rus, 0, $list)."<br>";
|
| |
|
|
|
|
|
|
| Помогите, пожалуйста, понять - почему не работает функция str_word_count при подсчете слов в русских строках.
(стоит Apache 2.2.3+PHP 5.1.6)
<?php
$rus = "Свинство редкостное";
echo "Количество слов в русской строке = ".str_word_count($rus)."<br>";
$eng = "The rain in Spain";
echo "Количество слов в англ. строке = ".str_word_count($eng);
?>
|
В результате выдает:
Количество слов в русской строке = 5
Количество слов в англ. строке = 4 | |
|
|
|
|