Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » проблема - Regular Expression и русская буква "ч"

Ответить
Настройки темы
проблема - Regular Expression и русская буква "ч"

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


имеется текстовой файл(на русском) и такой вот код


PHP:
--------------------------------------------------------------------------------
$file = "C:\Inetpub\wwwroot\members\data\2004\4\3.txt";
$fd = fopen ($file, "r";
   $contents = fread ($fd, filesize ($file));
   fclose ($fd);
   print $contents."<br>";
   /* Extract all words matching the regexp from the current line: */
   preg_match_all("/b[a-zA-Zа-яА-Я]+b/",$contents,$words);
   print_r($words)."<br>";

--------------------------------------------------------------------------------



нужно считать файл в переменныю $content что и происходит
затем надо $contents разбить на массив где каждый элемент массива
это одно слово

ну напрмер файл 3.txt содержит одну строку
"Вечно молодой вечно пьяный"

после выполнения скрипта получаем такой вот массив $word
Array ( [0] => Array ( [0] => Вечно [1] => молодой [2] => вечно [3] => пьяный ) )

но вот что странное я заметил - если слово начиняется с буквы "ч" то она просто пропадает

ну напрмер если файл 3.txt содержит одну строку
"зачем через голову прыгать"

после выполнения скрипта получаем такой вот массив $word
Array ( [0] => Array ( [0] => зачем [1] => ерез [2] => голову [3] => прыгать ) )

т.е. слово "через" превратилось "ерез"

и так со всеми словами которые начинаются на букву "ч"

я не понимаю что происходит
в чем проблема??

Отправлено: 17:50, 24-02-2004

 

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Забавно... а почему не считать файл в массив используя функцию file(), а затем к каждому элементу массива применяем функцию explode с первым параметром в виде пробела. Т. е. код такой получается:
Код: Выделить весь код
$File = file('some_file_with_path_or_without');
foreach ($File as $Str)
  $Words[] = explode(' ', trim($Str));
PS на счет буквы ч ответа пока не знаю .

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 22:46, 24-02-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


потому что в реальности это не txt а html файл целая html
страница а я привел только пример который показывает мою проблему

т е в реальности файл считывает в переменную оттуда вытаскиваются все html тэги и получается определенна string переменная.

Отправлено: 13:24, 25-02-2004 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » проблема - Regular Expression и русская буква "ч"

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Переадресация папки "Мои документы" и "Рабочий стол". Проблема! DeniTornado Microsoft Windows NT/2000/2003 2 26-02-2009 10:05
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29
Когда нажимаю букву"M" или "L","U"...Проблема.. ekodrive Microsoft Windows 2000/XP 7 27-01-2006 15:13
Проблема с компонентой "Установка программ" в "Групповой политике". b10t Microsoft Windows NT/2000/2003 3 07-11-2005 04:36
Буква "о" в спецкодировке SANtana Хочу все знать 5 14-07-2003 10:36




 
Переход