На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Разбиение текста на слова
      Есть процедура для разбиения текста на слова
      ExpandedWrap disabled
        function docindex($text)
        {   $pattern = '/([А-Яа-яЁёA-Za-z]+)/u';
            preg_match_all($pattern, $text, $words);
            $stemmer = new Lingua_Stem_Ru();
            $ne=false;
            foreach ($words[0] as $key=>$word)
            {   $r=0;
                if ($ne) $r=1; if ($word=="не") $ne=true; else $ne=false;
                $w=$stemmer->stem_word($word);
                if (strlen($w)>=3) $res[]=array($w, $r);
            }
            return $res;
        }

      Но поочему-то функция preg_match_all возвращает пустой массив. В чем может быть дело?
        А если флаг 'u' убрать?
          То же самое.
            Может не находит ничего? Строка-то не пуста?
            Проверь что именно возвращает preg_match_all:
            ExpandedWrap disabled
              if (!preg_match_all(...))
                  die('ничего не найдено');
              Строка точно не пустая. Может надо локаль установить,
                1 - а если в патерне обрамляющие прямые слеши убрать (и флаги тоже конечно)?
                2 - ну и на кройняк, патерн в двойные кавычки?
                  Цитата K313 @
                  1 - а если в патерне обрамляющие прямые слеши убрать (и флаги тоже конечно)?

                  то будет ошибка
                  Цитата K313 @
                  2 - ну и на кройняк, патерн в двойные кавычки?

                  то ничего не изменится

                  Добавлено
                  $pattern = '#([a-zа-я]+)#isu';

                  :huh:

                  Добавлено
                  З.Ы. "ё", насколько я помню, в юникоде не надо выносить за пределы инервала, т.к. это только в cp866 (ну может ещё cp1251) чаркод буковки Ё убегал за пределы интервала чаркодов а-я
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0423 ]   [ 15 queries used ]   [ Generated: 27.04.24, 17:51 GMT ]