Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбивка текста на слова, Проблема с русскими 
V
    Опции темы
Zakir_Kadiri
  Дата 4.8.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



Всем привет. Есть проблема. Надо разрежат текст на слова, при этом оставит только буквы. Пример

Код

$text = "Термин Ajax, придуманный Джессом Джеймсом Гарреттом из компании Adaptive Path, оказывающей консалтинговые услуги пользователям, быстро приобрел популярность как краткий способ описания технологий, обеспечивающих асинхронное взаимодействие Web-приложений с сервером.";

$text = preg_split('', $text);
print_r($text);


а возвращает
Код

Array ( [0] => Термин [1] => Ajax, [2] => придуманный [3] => Джессом [4] => Джеймсом [5] => Гарреттом [6] => из [7] => компании [8] => Adaptive [9] => Path, [10] => оказывающей [11] => консалтинговые [12] => услуги [13] => пользователям, [14] => быстро [15] => приобрел [16] => популярность [17] => как [18] => краткий [19] => способ [20] => описания [21] => технологий, [22] => обеспечивающих [23] => асинхронное [24] => взаимодействие [25] => Web-приложений [26] => с [27] => сервером. )


а мне "," не нужен, только чистый текст.

пробовал ещо

Код

preg_split('/[^0-9a-zа-я]+/', $text);


но это тоже не помогает. вопросики принтуются
PM   Вверх
Glip
Дата 4.8.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



Код

preg_split('/[, \?]+/', $text);

так? ну и если что добавить в список то что не должно попадать в результат, как с ',' 


Это сообщение отредактировал(а) Glip - 4.8.2007, 11:38


--------------------
user posted image
PM MAIL   Вверх
smartov
Дата 4.8.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Вот так вроде работает нормально
Код

$text = preg_split('/[^a-zA-Zа-яА-Я0-9\-]+/', $text);

Никаких вопросов не остается.
PM MAIL   Вверх
Zakir_Kadiri
  Дата 4.8.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



smartov, прочти что я написал. код каторую ты писал почти копия маего.

Glip, а код как твой я смог бы писат но это же не решения!

Я же ясно писал что только буквы, а который Glip писал, там надо будет писат всех дурацских символов типа !@#$%^&*()-_=+\....
Это же не решения!
PM   Вверх
smartov
Дата 4.8.2007, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Zakir_Kadiri, 
Цитата(Zakir_Kadiri @  4.8.2007,  14:42 Найти цитируемый пост)
smartov, прочти что я написал. код каторую ты писал почти копия маего.

Прочти что я написал, я вижу что код который я написал почти копия твоего, но если ты не заметил
Цитата(smartov @  4.8.2007,  11:21 Найти цитируемый пост)
Никаких вопросов не остается. 


Вод такой код
Код

<?php

$text = "Это фраза с повросом? Да, это фраза с вопросом!";

echo $text."<br><br>";

$text = preg_split('/[^a-zA-Zа-яА-Я0-9\-]+/', $text);
print_r($text);

?>


у меня возвращает вот такой результат
Код

Это фраза с повросом? Да, это фраза с вопросом!

Array ( [0] => Это [1] => фраза [2] => с [3] => повросом [4] => Да [5] => это [6] => фраза [7] => с [8] => вопросом [9] => )


(http://humanhive.info/123.php)

Так что ищи ошибку в hans.sys
PM MAIL   Вверх
Zakir_Kadiri
  Дата 6.8.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



Мда...Нашёл проблему проблема в кодировке!!! Если странца на utf-8? смотри что тогда случится :(
PM   Вверх
smartov
Дата 6.8.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



smartov, 
Цитата(Zakir_Kadiri @  6.8.2007,  10:00 Найти цитируемый пост)
Если странца на utf-8?

то это уже совершенно другой разговор. 

mb_split спасет отца русской демократии (нужно установленное расширение mb_strings).

PM MAIL   Вверх
Zakir_Kadiri
  Дата 6.8.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



Цитата(smartov @  6.8.2007,  12:03 Найти цитируемый пост)
mb_split спасет отца русской демократии (нужно установленное расширение mb_strings).


извени что замучал тебя  smile 
но это не дефаулт расширения, этого на моем серваке нет  smile 

Это сообщение отредактировал(а) Zakir_Kadiri - 7.8.2007, 09:08
PM   Вверх
Anarki
Дата 6.8.2007, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 2
Всего: 11



Значит нужно сконвертировать в cp1251
там есть и готовые функции


--------------------
PM WWW   Вверх
Zakir_Kadiri
Дата 7.8.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



Anarki спасибо за ответ, но уже я решил задачу.
Всем спасибо кто памог мне smile 
PM   Вверх
smartov
Дата 7.8.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Zakir_Kadiri, 
Цитата(Zakir_Kadiri @  7.8.2007,  08:11 Найти цитируемый пост)
но уже я решил задачу.

Ну напиши ж тогда решение здесь. Пригодится тем, кто столкнется с такой же задачей и у кого не будет mb_strings расширения.
PM MAIL   Вверх
Zakir_Kadiri
Дата 7.8.2007, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 22.6.2007
Где: Baku

Репутация: нет
Всего: нет



Код

<?php
$text = "Это фраза с повросом? Да, это фраза с вопросом!";
echo $text."<br><br>";
$text = preg_split('/[^a-zA-Zа-яА-Я0-9\-]+/', $text);
print_r($text);
?>


Тот же самый код, но этот код выполняется до того как на браузер посыдается мета тег о кодировке, и поетому сработала  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.