5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
||||||
1 | ||||||
Работа с текстом08.02.2013, 11:07. Показов 1977. Ответов 14
Метки нет (Все метки)
Доброго времени суток!
Нужно слова текста поместить в массив(элемент массива = слово). Есть такой код:
Array ( [0] => WordPress� [1] => - [2] => один [3] => и� [4] => с� [5] => м� [6] => � [7] => р� [8] => спрос� [9] => р� [10] => ненн� [11] => � [12] => дви� [13] => ков [14] => д� [15] => я [16] => ведения [17] => � [18] => � [19] => огов [20] => � [21] => подо� [22] => н� [23] => � Вопрос, почуму появляются вопросительные знаки? И может быть у кого то есть опыт или прмер хорошего решения такой задачи.
0
|
08.02.2013, 11:07 | |
Ответы с готовыми решениями:
14
Работа с текстом Работа с текстом Работа с текстом Работа с текстом |
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
||||||
08.02.2013, 15:13 | 2 | |||||
У меня вообще не сработала функция str_word_count().
Можете попробовать воспользоваться другой функцией. Например:
0
|
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 9
|
||||||
08.02.2013, 15:22 | 3 | |||||
а функция
0
|
155 / 25 / 6
Регистрация: 06.06.2009
Сообщений: 262
|
|
08.02.2013, 15:36 | 4 |
Зависит от того какие данные нужны. Знаки препинания или еще что.
0
|
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
|
08.02.2013, 15:43 [ТС] | 5 |
Нужны исключительно слова. Не знаю почему у вас не сработла srt_word_count, странно. Она уже давно поддерживается.
Вроде бы дело в кодеровке. Но в WP все в UTF-8 и фалы я свои перепроверил, они тоже в UTF-8.
0
|
Заблокирован
|
|||||||||||
08.02.2013, 16:05 | 6 | ||||||||||
Скорее всего, ваш браузер не видит и не знает какую кодировку применить...
Добавьте в раздел HEADER:
0
|
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
|
08.02.2013, 16:15 [ТС] | 7 |
На это я тоже внимание обратил, но WP (да если не указал я пишу плагин под него) и так ставит кодировку UTF-8 и браузер отображает страцу в этой кодеровке. И файлы я тоже перепроверил, там тоже UTF-8 без бома...
0
|
Заблокирован
|
||||||
08.02.2013, 16:22 | 8 | |||||
Вы сделали, как я сказал? Надо именно так:
0
|
9 / 9 / 1
Регистрация: 02.09.2011
Сообщений: 70
|
|
08.02.2013, 16:32 | 9 |
Странно у меня все работает отлично! А что у тебя отображает твоя переменная $content.
0
|
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
||||||
08.02.2013, 16:49 [ТС] | 10 | |||||
Спасибо за отзывчивость!
Вот что сделал:
Array ( [0] => С� [1] => ем� [2] => много� [3] => � [4] => � [5] => � [6] => ного [7] => кодиров� [8] => ния [9] => симво� [10] => ов [11] => и [12] => и� [13] => ре� [14] => � [15] => и� [16] => � [17] => � [18] => ии [19] => дос� [20] => � [21] => � [22] => о� [23] => но [24] => с� [25] => о� [26] => н� [27] => и [28] => и� [29] => опис� [30] => ние [31] => н� [32] => � [33] => оди� [34] => ся [35] => � [36] => � [37] => преде� [38] => � [39] => ми [40] => э� [41] => о� [42] => докумен� [43] => � [44] => � [45] => ии ) Получается что дело вовсе не в кодеровке. Неужели str_word_count() не умеет работать с русскими символами=( Добавлено через 5 минут Вот пример (он выше). Где $text содержит несколко строк на русском. И да с американскими символами все отлично работает, с русскими что то не так.
0
|
Заблокирован
|
|
09.02.2013, 16:10 | 11 |
Используйте альтернативные функции.
Добавлено через 17 минут У меня функция str_word_count русские слова вообще не видит Yапишите сами функцию, подобной str_word_count Не так это уж трудно
0
|
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
|
09.02.2013, 16:21 [ТС] | 12 |
Я надеялся в кой то веки воспользоваться готовыми решениями, которые любезно предоставляют нам разработчики PHP.
Но, как оказалось, что не только str_word_count(), но и strtolower(), да и вообще все функции связанные с обработкой строк - не работают с кирилицой. Спасибо им!) Как все сделаю, выложу решение. Вдруг кому то поможет.
0
|
Заблокирован
|
||||||||||||||||
09.02.2013, 22:22 | 13 | |||||||||||||||
Нашел решение )
Для CP1251:
1
|
Taatshi
|
10.02.2013, 11:31
#14
|
0
|
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
|
|
11.02.2013, 10:02 [ТС] | 15 |
Нет...нет...нет.
Вариант с UTF-8 тоже не работает. Причем работать он не будет до выхода в свет PHP 6. PHP просто не умеет работать со строками в формате UTF-8 (он бежит в панике если символ закодирован больше чем одним байтом). И если бы посмотреть пример выше (а вернее запустить его), то будет видно что нужная для работы локаль не устанавливается вовсе. Вобщем много писать...для решения этой проблемы в нынешнем PHP есть костыль - библиотека mbstring. Кастыль - это плохо, но на мой взгляд, сейчас это оптимальный вариант.
0
|
11.02.2013, 10:02 | |
11.02.2013, 10:02 | |
Помогаю со студенческими работами здесь
15
Работа с текстом Работа с текстом Работа с текстом в VB Работа с текстом Работа с текстом Работа с текстом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |